запуск интеграционных тестов Grails от IntelliJ - PullRequest
3 голосов
/ 08 марта 2011

Я использую IntelliJ 10.0.2 для разработки проекта Grails. Если вы щелкнете правой кнопкой мыши по MyIntegrationTest.groovy и запустите его по отдельности (выбрав «MyIntegration ...» в меню правой кнопкой мыши), то тесты пройдут. Тесты в этом классе также проходят, когда я использую функцию «Run Grails target» и задаю «test-app».

Однако, если я щелкну правой кнопкой мыши на Tests: интеграция и выберу «Запустить все тесты», некоторые из тестов в MyIntegrationTest завершатся неудачно, потому что зависимости не введены. Скорость выполнения тестов также говорит о том, что контекст приложения Spring не создается. Есть ли способ запустить все интеграционные тесты (или все интеграционные и модульные тесты) из IntelliJ, не прибегая к командной строке Grails?

Заранее спасибо!

Ответы [ 3 ]

4 голосов
/ 18 марта 2011

Если это такой же случай, как у меня, вот как я это решил. У меня был проект grails, импортированный в IDEA со стилем проекта .ipr. Вы можете проверить, имеет ли ваш проект стиль .ipr, если у вас есть файлы Project.ipr, Project.iws, Project.iml и Project-grailsPlugins.iml в главном каталоге вашего проекта.

Закройте IDEA, сделайте резервную копию (для безопасности, если что-то пойдет не так) и удалите эти 4 файла. Затем откройте IDEA и выберите Новый проект. Выберите «Импортировать проект Grails из существующих источников», выберите ваши источники и обязательно выберите .idea - стиль проекта. Идея должна создать новый проект в порядке. Обязательно проверьте структуру объектов (Ctrl-Shift-Alt-S) -> Настройки проекта -> Модули -> Источники. У вас должно быть два каталога test / unit и test /gration, отмеченные зеленым как Источники тестирования.

Если все пойдет хорошо, вы сможете щелкнуть правой кнопкой мыши Тесты: интеграция и Тесты: каталоги проектов модулей. Должны быть пропущены параметры «Выполнить тесты Grails: интеграция» и «Выполнить тест Grails: модуль».

3 голосов
/ 08 марта 2011

С Intellij у вас есть выбор: запускать тесты как Grails: интеграция, Grails: модульные тесты или запускать их как простые модульные тесты. Если вы решили запустить модульные тесты, они будут работать только для тестов / модулей и не будут создавать пружинные контексты для интеграции. Щелкните правой кнопкой мыши на тесте / модуле и выберите Run-> Grails: unit или щелкните правой кнопкой мыши на тесте / интеграции и выберите Grails: интеграция. Должен быть установлен плагин Grails для IDEA.

1 голос
/ 08 октября 2011

Я столкнулся с очень похожей проблемой, но на самом деле я вижу немного другое, почти противоположное поведение в идее 10.5.2. У меня есть настройки в стиле .ipr. Если я щелкну правой кнопкой мыши на классе тестов интеграции или пакете тестов интеграции, я получу только стандартные «Run MyIntegrationTests». , «. опцию, и она завершается с ошибкой согласно сообщению об ошибке автора (вместо того, чтобы фактически запустить контекст интеграции согласно описанному поведению автора). Однако, если я щелкну правой кнопкой мыши по элементу верхнего уровня «Тесты: интеграция» в представлении Grails, я получу опцию «Выполнить« Тесты Grails: интеграл ... », и она отлично работает.

Для меня это нормально, и мне не нужно перестраивать свой проект в структуру на основе директорий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...