2016-01-19 3 views
4

Я новичок в grails и пытаюсь запустить уже существующие интеграционные тесты для определенного класса (используя grails 3.0.11). (Я не хочу запускать ВСЕ тестовые классы, только один)Как выполнить интеграционный тест для определенного класса в grails 3.0

  1. Возможно ли это сделать для интеграционных испытаний или могут быть выполнены только те тесты Unit?
  2. Если да, то может ли кто-нибудь предложить, как это можно сделать?

Класс тест выглядит следующим образом

@TestFor(ClassToBeTested) 
@Mock([]) 
class ClassToBeTestedSpec extends Specification { 
... 
} 

Я попытался следующие после просмотра сообщений здесь,

$ grails test-app -integration ClassToBeTested  

Но я получаю ниже ошибки

FAILURE: Build failed with an exception. 

* What went wrong: 
Execution failed for task ':integrationTest'. 
> No tests found for given includes: [ClassToBeTested] 

Спасибо ,

ответ

2

Для тестового класса в пакете не по умолчанию:

grails test-app -integration *.ClassToBeTested

Или с Gradle:

--tests *.ClassToBeTested

+0

спасибо .. но его все еще не работает. Мой тестовый класс находится в пакете, отличном от стандартного. – neel

+0

Скопируйте вставить точное сообщение об ошибке. – HypeMK

+0

Я получаю ниже исключения при попытке вашего предложения FAILURE: Сбой сборки с исключением. * Что пошло не так: Выполнение не выполнено для задачи ': integrationTest'. > Никакие тесты, найденные для данного, включают в себя: [* .ClassToBeTested] – neel

2

мне пришлось добавить 'тесты' до конца аргумента чтобы сделать эту работу с JUnit. Возможно, Спок требует также текста «Spec» в конце?

С JUnit, мне нужно ввести шаблон, который соответствует фактическому тестовый класс, в том числе «тесты»:

--tests *ClassToBeTestedTests 

Я предполагаю, что использование Спок, это может быть что-то подобное (я не имею любые Спок тесты, чтобы проверить это на):

--tests *.ClassToBeTestedSpec 
+0

Извините, если я ввел вас в заблуждение непреднамеренно. По ClassToBeTested я просто ссылался на имя класса, который должен был быть протестирован. Это может быть любой класс, который вы собираетесь тестировать. – neel

+0

Я имел в виду, вам может понадобиться включить «Spec» в конец.Я должен был включить «Тесты» в конце аргумента для JUnit. –

1

в Grails 3, вы можете запустить определенный тест, как это:

grails test-app com.yourpackage.yourapp.SomeWhateverSpec 

или использование звездой, если вы не хотите, чтобы написать иерархию пакетов:

grails test-app *.SomeWhateverSpec 

Не забудьте добавить Spec слово в конце, иначе она не будет работать.

Смежные вопросы