2017-01-27 3 views
2

Я проверил эту ссылку:Как запустить тест Spock из командной строки?

https://gist.github.com/ysb33r/5825457

Похоже, что он может работать так:

groovyc *.groovy 

java -cp ~/.grapes/org.spockframework/spock-core/jars/spock-core-0.7-groovy-2.0.jar:$GROOVY_HOME/embeddable/groovy-all-2.1.4.jar:$GROOVY_HOME/lib/junit-4.11.jar:$GROOVY_HOME/lib/hamcrest-core-1.3.jar:.org.junit.runner.JUnitCore ExampleSpec 

И я добавил все третьи банки часть в CLASSPATH, так что все импорт из эти ЛИЭС found.But всех моих собственных классов не могут быть найдены, и сообщение об ошибке, как это:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: 
LoginTest.groovy: 11: unable to resolve class com.vsi.icareos.client.home.HomePage 
@ line 11, column 1. 
import com.vsi.icareos.client.home.HomePage 
^ 

LoginTest.groovy: 22: unable to resolve class LoginByPwdPage 
@ line 22, column 2. 
LoginByPwdPage loginPage 
^ 

LoginTest.groovy: 35: unable to resolve class LoginByPwdPage 
    @ line 35, column 13. 
     loginPage=new LoginByPwdPage(browser,Consts.PAGE_ID) 
     ^
3 errors 

Я думаю, что опция: - sourcepath необходима, но я нашел эту опцию команды устаревшей, так как, как решить эту проблему?

+0

Вы используете любую форму инструмента сборки? С самого начала нужно начать немного, но в конечном итоге избавит вас от всех этих беспорядков. Я использую Gradle, но есть еще Maven и Ant –

+0

@ tim_yates, еще нет, прямо сейчас, я просто хочу запустить одну спецификацию. –

+0

Если вы использовали gradle, это можно сделать с помощью 'gradle test -tests your.packages.SomeSpecificSpec' –

ответ

1

я смог запустить тесты, описанные в сущности, но с модификацией groovyc добавить -cp флаг с Спока баночку к нему, а также, если у вас есть источники в поддиректории вы должны использовать **/*.groovy вместо *.groovy

Глядя на то, как вы запустите команду java, швы, не хватает пространства между . и org.junit.runner.JUnitCore

Таким образом, вместо

java -cp ~/.grapes/org.spockframework/spock-core/jars/spock-core-0.7-groovy-2.0.jar:$GROOVY_HOME/embeddable/groovy-all-2.1.4.jar:$GROOVY_HOME/lib/junit-4.11.jar:$GROOVY_HOME/lib/hamcrest-core-1.3.jar:.org.junit.runner.JUnitCore ExampleSpec 

я должен быть

java -cp ~/.grapes/org.spockframework/spock-core/jars/spock-core-0.7-groovy-2.0.jar:$GROOVY_HOME/embeddable/groovy-all-2.1.4.jar:$GROOVY_HOME/lib/junit-4.11.jar:$GROOVY_HOME/lib/hamcrest-core-1.3.jar:. org.junit.runner.JUnitCore ExampleSpec 

Пожалуйста, обратите внимание на пробел во втором. . является текущий каталог добавлен в путь к классам

надеюсь, что это помогает