Хм, а если мой калькулятор однажды начнёт использовать rest api mathlab, мне придётся идти по кодовой базе всего приложения и мокать соединения с базой данных?
Или же все-таки нужно написать нейкий FakeCalculator и внедрять его как зависимость везде, где у меня есть зависимость на ICalculator/Calculator?
Лично мне кажется, что нужно отделять инфраструктуру и ui от логики. Логика должна тестироваться с реальными зависимостями, необходимыми логике, а инфраструктура должна эмулироваться средой. Должны быть некие интеграционные тесты, которые проверяют вход/выход реальной инфраструктуры и далее должна быть имплементирована FakeInfrastructure, которая проходит как минимум позитивные сценарии этих тестов. Т.е. появляется некая среда тестирования логики.
Что думаете?
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Или же все-таки нужно написать нейкий FakeCalculator и внедрять его как зависимость везде, где у меня есть зависимость на ICalculator/Calculator?
Лично мне кажется, что нужно отделять инфраструктуру и ui от логики. Логика должна тестироваться с реальными зависимостями, необходимыми логике, а инфраструктура должна эмулироваться средой. Должны быть некие интеграционные тесты, которые проверяют вход/выход реальной инфраструктуры и далее должна быть имплементирована FakeInfrastructure, которая проходит как минимум позитивные сценарии этих тестов. Т.е. появляется некая среда тестирования логики.
Что думаете?