• Как написать правильные Unit/Integration тесты?

    @totsamiynixon Автор вопроса
    Хм, а если мой калькулятор однажды начнёт использовать rest api mathlab, мне придётся идти по кодовой базе всего приложения и мокать соединения с базой данных?
    Или же все-таки нужно написать нейкий FakeCalculator и внедрять его как зависимость везде, где у меня есть зависимость на ICalculator/Calculator?

    Лично мне кажется, что нужно отделять инфраструктуру и ui от логики. Логика должна тестироваться с реальными зависимостями, необходимыми логике, а инфраструктура должна эмулироваться средой. Должны быть некие интеграционные тесты, которые проверяют вход/выход реальной инфраструктуры и далее должна быть имплементирована FakeInfrastructure, которая проходит как минимум позитивные сценарии этих тестов. Т.е. появляется некая среда тестирования логики.

    Что думаете?