Я работаю над проектом, который состоит из 3-х уровней: презентация (asp.net mvc) -> бизнес-логика -> репозиторий.
Мы тестируем все три части с помощью модульных тестов.
Планируем добавить интеграционные тесты. Теперь решаем, какую часть с ними тестировать.
Мы рассматриваем следующие решения:
- Контроллеры тестирования, в этом случае будут задействованы все три части системы.
- Протестируйте бизнес-логику, в этом случае будут задействованы всего 2 части
Я вижу выгоду от второго решения в том случае, если у нас будет мало пользователей нашего ядра. Например сайт, мобильная версия, инструмент команд. В этом случае все клиенты будут использовать хорошо протестированную бизнес-логику.
Как вы думаете, какое решение лучше? Не могли бы вы описать свой опыт использования интеграционных тестов.
Спасибо.