Границы интеграционного тестирования - PullRequest
0 голосов
/ 09 октября 2018

Я хочу быть конкретным.Итак, представьте себе бэкэнд Spring REST, который хранит данные в БД, а также связывается с различными другими службами через REST, WS и т. Д.

Что на самом деле следует считать интеграционным тестом?

MVC

Используя Spring-test, MockMVC, мы можем как-то пропустить развертывание, чтобы ускорить тестирование.Позволяет вызвать http-запрос и протестировать весь поток.Если я пропущу его и разверну на сервере приложений, он должен быть похожим.

А как насчет удаленных служб REST?

Я полагаю, что могу проверять компоненты в тестовом контексте илиможет запустить какой-нибудь сервис Fake Rest.Один из подходов дисквалифицирован из интеграционного тестирования?

А как насчет БД?

Нелегко подделать БД.Так часто вы просто начинаете тестирование (H2) или какую-то реальную БД напрямую.Может быть, вы можете смоделировать репозитории, но это интеграция?

Я особенно заинтересован в связи с этапом тестирования интеграции Maven.Также как насчет необходимости развертывания приложения (так как MockMVC и spring-test являются своего рода развертыванием без сервера), поддельные серверы против насмешки над bean-компонентами напрямую.

Коротко, где находятся границы интеграционного тестирования. Неужели это настолько самоуверенно, как кажется на первый взгляд?

...