Как смоделировать множество зависимостей, необходимых для интеграционных тестов?
Я использую Mockito для своих «чистых» модульных тестов. «Чистый» в данном случае означает тестирование одного класса, имитируя все его зависимости. Красивый.
Теперь интеграционные тесты. Допустим, в этом случае интеграционный тест проверит что-то вроде этого:
Допустим также, что обработка то, что происходит на шаге 2, это серьезно. Он зависит от множества взаимодействий с базой данных, от множества внешних служб, файловой системы и всего прочего. Есть также много побочных эффектов, которые вызовет поток, поэтому я не могу просто убедиться, что ответ правильный -Мне нужно проверить побочные эффекты.
Каждая из этих зависимостей обернута одним классом службы без сохранения состояния, что делает их красивыми и привлекательными.
Как люди справляются с этим?
Я хотел бы использовать Mockito, чтобы проверить побочные эффекты, которые будет иметь приведенный выше поток. Тем не менее, документация Mocktio (и в значительной степени его реализация), по-видимому, решительно борются против использования его в контекстах, отличных от «чистых» модульных тестов. Я пытался пойти по этому пути, но
РЕДАКТИРОВАТЬ
Я знаю, что могу справиться с проблемой базы данных с помощью чего-то вроде экземпляра HSQLDB, но проблема с внешними службами все еще остается. Для воспроизводимости я не могу полагаться на эти сервисы,быть в том состоянии, которое мне нужно, и т. д. Единственный вариант, который я вижу, - это издеваться над ними.
Что делать?