Size: a a a

Moxy – MVP библиотека под Android

2020 June 07

ЕХ

Евгений Храмов... in Moxy – MVP библиотека под Android
тоже основной аргумент это лень и не понимание зачем пишут тесты
типа поведение моков надо переписывать после изменения имплементации
да так и должно быть только так можно понять на что повлияло изменение имплементации
каждый тест который свалился надо разобрать почему так произошло
внесли изменения в тест и тем самым принять новую имплементацию
повторюсь если после ищменения имплементации тесты не падают значит выкиньте такие тесты
источник

ЕХ

Евгений Храмов... in Moxy – MVP библиотека под Android
скажу так если мне приходит ПР в котором изменена логика но нет правок в тестах это индикатор проблемы
блочу ПР и прошу доработать тесты чтобы они начали реагировать на изменение имплементации
источник

AD

Aleksey D. in Moxy – MVP библиотека под Android
Евгений Храмов
тоже основной аргумент это лень и не понимание зачем пишут тесты
типа поведение моков надо переписывать после изменения имплементации
да так и должно быть только так можно понять на что повлияло изменение имплементации
каждый тест который свалился надо разобрать почему так произошло
внесли изменения в тест и тем самым принять новую имплементацию
повторюсь если после ищменения имплементации тесты не падают значит выкиньте такие тесты
некоторые могут сказать, что ключ к вопросу моки или фейки - чистые функции
источник

S

Singular in Moxy – MVP библиотека под Android
Помогите, не могу ни как протестить код https://pastebin.com/Wa0FMFyn
источник

S

Singular in Moxy – MVP библиотека под Android
Wanted but not invoked:
list.size();
-> at SearchWordPresenterTest.main(SearchWordPresenterTest.kt:31)
Actually, there were zero interactions with this mock.


Выдает ошибку непонятную
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
Что непонятно в ошибке?
источник

S

Singular in Moxy – MVP библиотека под Android
Алексей Ершов
Что непонятно в ошибке?
Все, непонимаю как мне получить результат
источник

P

Pavel in Moxy – MVP библиотека под Android
Переменная list создаётся в тесте. Тестируемый класс (презентер) о ней ничего не знает. Разумеется, никаких взаимодействий (interactions) с list нет.
Думаю, Вам стоит начать с изучения основ юнит-тестирования
источник

AD

Aleksey D. in Moxy – MVP библиотека под Android
для начала желательно сделать так, чтобы запрос внутри презентера возвращал тот самый лист

(все равно очень плохо)
источник

S

Singular in Moxy – MVP библиотека под Android
Aleksey D.
для начала желательно сделать так, чтобы запрос внутри презентера возвращал тот самый лист

(все равно очень плохо)
Если он будет возращять тот самый лист, тогда смысл в асинхронщине?
источник

AD

Aleksey D. in Moxy – MVP библиотека под Android
Singular
Если он будет возращять тот самый лист, тогда смысл в асинхронщине?
смысл в том, что Single<List> тоже прокатит
источник

ЕХ

Евгений Храмов... in Moxy – MVP библиотека под Android
что вы хотите проверить?
я не вижу замоканной вьюшки
не вижу чтобы вьюшка аттачилась к презентеру
проверять работу прозентера надо через взаимодействие с вьюшкой
источник

ЕХ

Евгений Храмов... in Moxy – MVP библиотека под Android
попробую объяснить
в тесте необходимо замокать вьюшку
после этого зааттачить вьюшку к презентеру
в вашем случае можнт это делать в блоке before
после этого в тесте вызываете функцию прозентера и проверяете что в результате у вьюшки была вызвана соответствующая функция
источник

ЕХ

Евгений Храмов... in Moxy – MVP библиотека под Android
и кстати скедулер лучше передавать в конструктор
и лучше через DI
источник

S

Singular in Moxy – MVP библиотека под Android
Евгений Храмов
что вы хотите проверить?
я не вижу замоканной вьюшки
не вижу чтобы вьюшка аттачилась к презентеру
проверять работу прозентера надо через взаимодействие с вьюшкой
источник

S

Singular in Moxy – MVP библиотека под Android
@hram0v
Вот я так делаю, у меня ошибка появляется, весь stackoverlow перерыл не понял причину
Wanted but not invoked:
iSearchWord.setDataSearch([]);
-> at SearchWordPresenterTest.main(SearchWordPresenterTest.kt:30)

However, there was exactly 1 interaction with this mock:
iSearchWord.showLoading();
-> at ISearchWord$$State.showLoading(ISearchWord$$State.java:70)
источник

ЕХ

Евгений Храмов... in Moxy – MVP библиотека под Android
так вы проверяете что выховется функция с пустым списком
источник

ЕХ

Евгений Храмов... in Moxy – MVP библиотека под Android
но плохо что со вьюшкой была всего одна итерация
значит данные в нее все равно не передавались
источник

S

Singular in Moxy – MVP библиотека под Android
Евгений Храмов
так вы проверяете что выховется функция с пустым списком
А я надеялся что вызов выполнится и из сети я получу данные, которые запишутся в этот список, точно также как и в рабочем проекте.
источник

ЕХ

Евгений Храмов... in Moxy – MVP библиотека под Android
что хорошо
то что презентер взаимодействует с вьюшкой
что плохо
то что презентер не передает список во вьюшку
источник