169 похожих чатов

Привет всем! как протестировать юзкейс? в моем случае он должен

возвращать listOf(object1, object2). я сделал мок репозитория и в тесте подменяю данные. чего мне еще не хватает?

26 ответов

16 просмотров

Вы же не инициализировали reportsRepository

Иван-Чепёлкин Автор вопроса

а зачем ? я ж его мокаю

в какой строке?

А в чем вообще смысл этого теста?)

увидел аннотацию

у Вас проблема с пониманием тестирования

Иван-Чепёлкин Автор вопроса

Согласен (((

ради процента ковераге страдают ...

Тестировать надо логику, которая принимает какие-то данные и отдает какие-то данные. Желательно ещё и без сайд эффектов. Тесты на прокси не имеют вообще никакого смысла

похоже человек вообще разбирается как делать тесты

Иван-Чепёлкин Автор вопроса

То есть обычные юзкейсы нет смысла тестировать?

UseCase надо тестировать. Просто Ваш UseCase вообще не должен существовать

Смотря что такое юзкейс. Если это чистая функция, то можно тестировать.

Иван-Чепёлкин Автор вопроса

не понял

что делает Ваш UseCase?

Иван-Чепёлкин Автор вопроса

Да, именно. Данные из репо

почему Repository не может отдавать данные в Presentation? зачем нужен посредник в виде UseCase?

Иван-Чепёлкин Автор вопроса

потому что это сценарий работы - атомарная еденица.

ну если хочется плодить классы - плодите. Вас ни кто не остановит

просто сделайте как я описал тут https://t.me/android_ru/881873

Иван-Чепёлкин Автор вопроса

Спасибо) буду пробовать!

а почему для вас UseCase это лишняя абстракция я с того разговора так и не понял. Репозиторий отдает данные, имея доступ к разным Gateway. зачем в каждой вьюмодели прописывать параметры и аргументы, если можно на каждый use-case сделать свой UseCase?

о каких параметрах речь? в приведенном примере UC просто передавал вызов из Presentation в Repository. Можно просто из Presentation вызывать Repository, без лишних посредников

Ну для консистентности можно оставить

а при чем тут консистентность?

Конкретно в том примере не при чем

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта