Size: a a a

StartAndroid Ru Testing

2018 August 07

N

Nikolay in StartAndroid Ru Testing
Николай Казаков
и еще заметил, что если метод помечен как private студия его не дает протестировать, тоже нет смысла?
конечно, приватные методы не тестируются.
источник

НК

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

N

Nikolay in StartAndroid Ru Testing
Николай Казаков
так получается это влияет на степень покрытия кода тестими? она будет низкой
но ведь приватный метод будет использоватся хотя бы в одно публичном методе, то есть протестировав этот публичный метод ты протестируешь и приватный, разве нет?
источник

N

Nikolay in StartAndroid Ru Testing
ты хочешь 100% покрытия тестами? тогда мне кажется это не про Андроид в целом
источник

НК

Николай Казаков in StartAndroid Ru Testing
Nikolay
но ведь приватный метод будет использоватся хотя бы в одно публичном методе, то есть протестировав этот публичный метод ты протестируешь и приватный, разве нет?
мне кажется нет, какое отношение тест публичного метода имеет отношение к приватному тесту. Если только намеренно писать тест, с учетом того, что он вызывает еще какие-то приватные методы. Вообще как-то странно.
источник

N

Nikolay in StartAndroid Ru Testing
🤔
источник

N

Nikolay in StartAndroid Ru Testing
я потерял нить разговора
источник

НК

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

НК

Николай Казаков in StartAndroid Ru Testing
вот взял другой метод (работает с БД), хочу проверить вызывался ли метод selectActiveDashboard
источник

W

WaterSmith in StartAndroid Ru Testing
Николай Казаков
мне кажется нет, какое отношение тест публичного метода имеет отношение к приватному тесту. Если только намеренно писать тест, с учетом того, что он вызывает еще какие-то приватные методы. Вообще как-то странно.
допустим у тебя есть класс, в котором например есть один публичный метод и три приватных. Ты пишешь тест, который вызывает этот публичный метод, с максимальным покрытием кейсов. Со всеми возможными параметрами вызывающими разное поведение и с граничными условиями. Если при этом какой-то код у тебя окажется не вызван, его можно удалить.
источник

N

Nikolay in StartAndroid Ru Testing
WaterSmith
допустим у тебя есть класс, в котором например есть один публичный метод и три приватных. Ты пишешь тест, который вызывает этот публичный метод, с максимальным покрытием кейсов. Со всеми возможными параметрами вызывающими разное поведение и с граничными условиями. Если при этом какой-то код у тебя окажется не вызван, его можно удалить.
Ну это то что я и говорил
источник

W

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

НК

Николай Казаков in StartAndroid Ru Testing
даа, спасибо!
источник

НК

Николай Казаков in StartAndroid Ru Testing
т.е. нужно стараться по максимуму тестировать публичные методы, тогда в тестировании приватных не будет необходимости
источник

W

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

НК

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

N

Nikolay in StartAndroid Ru Testing
Николай Казаков
т.е. нужно стараться по максимуму тестировать публичные методы, тогда в тестировании приватных не будет необходимости
Главное, не делать метод публичным ТОЛЬКО для тестирования!!!
источник

НК

Николай Казаков in StartAndroid Ru Testing
)))) а я уж хотел, правда
источник

НК

Николай Казаков in StartAndroid Ru Testing
а как быть с методами, которые к БД обращаются вот, например:
источник

НК

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