Я пишу тесты для приложения Express.js и не знаю, как выбрать между модульными тестами и интеграционными тестами.
в настоящее время я экспериментировал с:
модульные тесты - использование Sinon для заглушек/моков/шпионов и Injects для внедрения зависимостей в модули. при таком подходе мне приходится заглушать MongoDB и другие внешние методы.
Я подумал о модульном тестировании отдельных маршрутов, а затем с помощью интеграционного теста, чтобы убедиться, что на самом деле вызываются правильные маршруты.
интеграционные тесты - с использованием Supertest и Superagent, гораздо меньше кода для написания (не нужно ничего имитировать/заглушать), но должна существовать тестовая среда (базы данных и т. д.)
Я использую Mocha для запуска обоих стилей тестов.
как мне выбрать между этими двумя разными подходами?