Ответ может показаться субъективным, но все дело в том, что вы на самом деле тестируете.
Если вы тестируете свой код (ваша функция получает x и y и выдает z) - используйте модульные тесты. Если вы тестируете компонент в реальной / полуреальной среде - используйте интеграционное тестирование. Компонент может быть микросервисом, частью микросервиса, уровнем DAO на бэкэнде - что бы вы ни находили полезным.
Оба должны проверить, что программист действительно выполнил правильное кодирование (единицу) и что предполагается код работать, когда он не находится в вакууме (интеграционный тест).
Однако оба типа теста не охватывают бизнес-потоки системы. Это работа для тестов End2End.
Эти тесты представляют собой "автоматическое c" представление того, что раньше было регрессионным тестом, когда парни QA запускали Scenar ios в реальной системе.
Эти тесты обычно go, такие как:
- Вход на экран X
- Введите это и то
- Нажмите кнопку AB C
- Теперь вы на экране Y
- И т. Д. И т. Д., Пока проверяемый поток проверяется
Так что я не думаю, что только Модульные тесты могут помочь вам, а иногда вам также нужны тесты E2E.