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

Привет, вопрос по поводу моков (через gomock). Код-пример: https://www.toptal.com/developers/hastebin/amalibehoh.go - DoSomething -

что-то делает. Я её могу замокать (имею ввиду внешние зависимости типа репозитория и протестировать без проблем.

- DoSomethingWithSomeCheck - какой-то метод, который вызывает ранееупомянутый DoSomething, но имеет в себе доп логику, которую тоже надо протестить.

Я не хочу тестировать DoSomething два или больше раза в тестах методов, которые вызывают DoSomething, это параша.
Но как замокать "отдельный метод" скажем так? Это ж никакая не внешняя зависимость.

Надеюсь нормально объяснил)

6 ответов

22 просмотра

Обычно выносят во внешнюю зависимость такие штуки, либо тестируют все вместе прокидывая все зависимости.

Нет Ты замокал функцию DoSomething(и то, что она возвращает) и всё

nacknime- Автор вопроса
Enginegr
Нет Ты замокал функцию DoSomething(и то, что она в...

Ну так я ж и хочу узнать как замокать DoSomething, тестируя именно интерфейс SomeService

nacknime- Автор вопроса
Alexey Sklyar
Обычно выносят во внешнюю зависимость такие штуки,...

Да, можно, но уфф, много получится абстракции походу

Я сейчас не найду, но когда то попадалась статья, в которой хорошо объяснялось почему не нужно делать вызов одного публичного метода из другого...

Виталий Фунтиков
Я сейчас не найду, но когда то попадалась статья, ...

часто так не делают чтобы избежать дедлока, если есть синхронизация. ее приянто брать в публичной фун-ции, а работу делать в приватных методах.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
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
Карта сайта