Выполнение единственного интеграционного теста быстро в Grails

Действительно ли возможно быстро выполнить единственный/весь интеграционный тест в классе быстро в Grails. Тестовое приложение идет с тяжелым багажом очистки всех скомпилированных файлов и генерации cobertura отчеты следовательно, даже если мы выполняем единственный интеграционный тест, вся кодовая база скомпилирована, оснащена, и отчет о cobertura становится сгенерированным. Для нашего приложения это занимает больше чем 2 минуты.

Если бы было возможно быстро выполнить один интеграционный тест и получить быстрый feedbck, то это было бы очень полезно.

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

Спасибо

9
задан Prakash 25 May 2010 в 15:29
поделиться

2 ответа

Целью интеграционного теста является выполнение всей этой компиляции, создания базы данных, запуска сервера и т. Д., Потому что тесты должны выполняться в интегрированной среде, как следует из названия.

Возможно, вы можете извлечь некоторые тесты в модульные тесты. Их можно запустить в Eclipse.

Вы можете отключить Cobertura, поместив следующий код в свое grails-app/conf/BuildConfig.groovy:

coverage {
    enabledByDefault = false
}
5
ответ дан 4 December 2019 в 10:30
поделиться

Если у вас есть класс интеграционных тестов

class SimpleControllerTests extends GrailsUnitTestCase {
    public void testLogin() {}
    public void testLogin2() {}
    public void testLogin3() {}
}

Вы можете запустить только один тест в этом классе, используя:

grails test-app integration: SimpleController.testLogin

Однако вам все равно придется понести временные затраты, необходимые для интеграционного тестирования (загрузка конфигурации, подключение к DB, инстанцирование бобов Spring и т.д.)

Если вы хотите, чтобы ваши тесты выполнялись быстро, то старайтесь писать модульные тесты, а не интеграционные.

15
ответ дан 4 December 2019 в 10:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: