Я хочу быть конкретным.Итак, представьте себе бэкэнд Spring REST, который хранит данные в БД, а также связывается с различными другими службами через REST, WS и т. Д.
Что на самом деле следует считать интеграционным тестом?
MVC
Используя Spring-test, MockMVC, мы можем как-то пропустить развертывание, чтобы ускорить тестирование.Позволяет вызвать http-запрос и протестировать весь поток.Если я пропущу его и разверну на сервере приложений, он должен быть похожим.
А как насчет удаленных служб REST?
Я полагаю, что могу проверять компоненты в тестовом контексте илиможет запустить какой-нибудь сервис Fake Rest.Один из подходов дисквалифицирован из интеграционного тестирования?
А как насчет БД?
Нелегко подделать БД.Так часто вы просто начинаете тестирование (H2) или какую-то реальную БД напрямую.Может быть, вы можете смоделировать репозитории, но это интеграция?
Я особенно заинтересован в связи с этапом тестирования интеграции Maven.Также как насчет необходимости развертывания приложения (так как MockMVC и spring-test являются своего рода развертыванием без сервера), поддельные серверы против насмешки над bean-компонентами напрямую.
Коротко, где находятся границы интеграционного тестирования. Неужели это настолько самоуверенно, как кажется на первый взгляд?