Запеченные в Граале тесты - PullRequest
2 голосов
/ 25 января 2011

Я прочитал статью, сказав

Поддержка тестирования: тестирование приоритетный и первоклассный гражданин в Grails. Grails способствует тестированию; а также предоставляет утилиты для тестирования проще - от юнит-тестов низкого уровня до функциональные тесты высокого уровня. В Кроме того, Граальс не женат на конкретные рамки тестирования. Вы можете используйте JUnit, Spock, EasyB, Geb, Селен, Canoo и т. Д. Любое тестирование рамки могут быть сделаны для работы с Grails (написав плагин, который подключает рамки тестирования с тестированием Grails инфраструктура).

Значит ли это, что я могу тестировать Grails так же, как любую другую инфраструктуру Java EE? Этот блок текста ничего не говорит (например, Grails имеет интеграцию с jUnit) или в тестировании Grails есть что-то особенное?

EDIT:

Как это сравнить с SeamTest?

Ответы [ 2 ]

5 голосов
/ 25 января 2011

Я бы сказал, что Grails поддерживает тестирование посредством структуры папок, которая уже содержит папки для модульных и интеграционных тестов, а его команды помогают в написании тестов. Например, когда вы создаете класс домена или контроллер, он автоматически создает тестовые заглушки для вас. В нем также есть команды для запуска всех тестов, только для модульных / интеграционных тестов или для отдельных тестов - они автоматически создают отчеты в папке тестов.

Вы также можете найти множество плагинов, которые поддерживают тестирование - есть хороший плагин для функционального тестирования, который использует HtmlUnit для тестирования реальных запросов. Существует также плагин Selenium.

Мой общий опыт работы с Grails был очень позитивным, и я настоятельно рекомендую его в качестве основы.

Надеюсь, это поможет.

4 голосов
/ 25 января 2011

Как указал Мэтью, вся инфраструктура тестирования настроена.Макет каталога определен, и тесты можно запускать с помощью скрипта Grails.

В целом, среда тестирования Grails и SeamTest ничем не отличаются.Они оба имеют модульные тесты без базы данных и интеграционные тесты, которые имеют весь стек.Различия в основном носят характер Java и Groovy.

Так же, как SeamTest предоставляет слой поверх TestNG, у grails есть слой поверх JUnit, который обеспечивает аналогичную поддержку. grails.test.GrailsUnitTestCase и groovy.util.GroovyTestCase являются хорошими отправными точками, чтобы увидеть, как они сравниваются.

По моему мнению, где Grails действительно выделяетсяего насмешливая поддержка.Он использует шпунт, чтобы обеспечить очень гибкую насмешку.В частности, вы можете динамически переопределять методы с фиктивными версиями непосредственно для классов и объектов, поэтому нет необходимости создавать фиктивные классы.Инфраструктура предоставляет ярлыки для макетирования всего уровня ORM, что позволяет легко тестировать компоненты более высокого уровня без дополнительных затрат на базу данных.

Посмотрите главу руководства по тестированию для некоторыхконкретные примеры.

...