Size: a a a

StartAndroid Ru Testing

2018 August 07

НК

Николай Казаков in StartAndroid Ru Testing
потому что ошибку получаю с гиперссылкой на строку в теле этого метода
источник

W

WaterSmith in StartAndroid Ru Testing
покажи класс который ты тестируешь и тест целиком, на пастебине например
источник

W

WaterSmith in StartAndroid Ru Testing
источник

W

WaterSmith in StartAndroid Ru Testing
что то ты не так сделал, как я тебе советовал
источник

НК

Николай Казаков in StartAndroid Ru Testing
у меня просто db это обертка над SQLiteOpenHelper, db.open создает БД, а в  selectAllDashboard идет запрос к этой БД
источник

W

WaterSmith in StartAndroid Ru Testing
если db это не экземпляр SQLiteOpenHelper, а какой-то твой класс, то его и надо мокать.
источник

W

WaterSmith in StartAndroid Ru Testing
а еще правильнее, создавать его экземпляр, но оборачивать замоканный SQLiteOpenHelper
источник

W

WaterSmith in StartAndroid Ru Testing
тогда ты и его тестами покроешь, но под это дело лучше отдельные тесты писать
источник

W

WaterSmith in StartAndroid Ru Testing
тесты должны быть такими мелкими, чтобы ты по одному только имени упавшего теста понимал, где конкретно ошибка
источник

W

WaterSmith in StartAndroid Ru Testing
иначе, когда тест толстый и много всего проверяет, то в случае его падения будешь сидеть в отладке уже самого теста, а это не то ради чего они пишутся
источник

НК

Николай Казаков in StartAndroid Ru Testing
вот смотри, тест
источник

НК

Николай Казаков in StartAndroid Ru Testing
@Test
 public void checkInfoDashboard() {
   db = Mockito.mock(DB.class);
   when(db.selectAllDashboard()).thenReturn(mockedCursor);
   when(mockedCursor.getCount()).thenReturn(200);
   assertTrue(testApp.checkInfoDashboard());
 }
источник

НК

Николай Казаков in StartAndroid Ru Testing
метод checkInfoDashboard:
источник

НК

Николай Казаков in StartAndroid Ru Testing
boolean checkInfoDashboard() {
   db.open();
   Cursor cursor = db.selectAllDashboard();
   return cursor.getCount() != 0;
 }
источник

НК

Николай Казаков in StartAndroid Ru Testing
void open() {
   mDBHelper = new DBHelper(mCtx, DB_NAME, null, DB_VERSION);
   mDB = mDBHelper.getWritableDatabase();
 }
источник

W

WaterSmith in StartAndroid Ru Testing
ага, да, всё ок, но!
источник

W

WaterSmith in StartAndroid Ru Testing
Скажи пожалуйста, а откуда у тебя testApp берет свой DB?
источник

НК

Николай Казаков in StartAndroid Ru Testing
open это void, его я не могу засунуть в when
источник

W

WaterSmith in StartAndroid Ru Testing
потому что я подозреваю, что замокал ты одно, а выполняется у тебя другое
источник

W

WaterSmith in StartAndroid Ru Testing
да нет, я не подозреваю, я уверен =)
источник