Im развивается с Grails. Поскольку структура будет загружать данные и полностью размыты весной контексте, я считаю, что я пишу много интеграционных тестов для служб. Позвольте мне перефразировать это: я нахожу, что не пишу никаких модульных тестов для сервисов, а только тестов интеграции. Это плохая идея? Единственный недостаток, который я вижу в этом, заключается в том, что мои тесты занимают немного больше времени для запуска.Интеграция против модульного тестирования
Я использую модульное тестирование на контроллерах, так как в контроллере я тестирую различные потоки приложений, типы результатов, логику перенаправления и т. Д. Но большинство тестов, которые я пишу, являются интеграционными тестами. Это, кажется, разрыв с традиционными испытаниями J2EE, где в основном написаны модульные тесты.
edit- быть ясным, Im не записывать интеграционные тесты, потому что код настолько сложный, что будут проводиться только тесты интеграции. Я пишу интеграционные тесты, потому что легче протестировать все вместе, так как структура дает вам столько. Я издеваюсь над некоторыми вещами, например, если служба сотрудничает с службой аутентификации acegi, я издеваюсь над этим. Я также издеваюсь в любое время, когда мы взаимодействуем с веб-сервисом, потому что вам нужно пройти тест, который выполняется без специальной настройки.
Интеграционные тесты могут быть более хрупкими, чем модульные тесты. Если вы обнаружите, что пишете в основном интеграционные тесты, подумайте о том, как реорганизовать ваш проект, чтобы его можно было тестировать с большей готовностью. Если ваш код написан так, чтобы его можно было тестировать, вы можете обнаружить, что модульные тесты легче писать, чем тесты интеграции, и более стабильны (менее склонны к разрыву). Интеграционные тесты хороши для тестирования взаимодействия между компонентами системы, но они не всегда обеспечивают адекватное покрытие кода, поэтому они не заменяют модульные тесты. –