如何从命令行 运行 spock 测试?
How to run spock test from command line?
我检查过这个link:
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
而且我已经将所有第三方 jar 添加到 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 是必需的,但我发现这个命令选项已被弃用,所以如何解决这个问题?
我能够 运行 要点中描述的测试,但是通过修改 groovyc
添加带有 spock jar 的 -cp
标志,如果你有sub-directories 中的来源你应该使用 **/*.groovy
而不是 *.groovy
看看你 运行 java
命令的方式,它似乎在 .
和 org.junit.runner.JUnitCore
[=20= 之间缺少一个 space ]
所以不用
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
请注意第二个space。
.
是添加到类路径的当前目录
希望这对您有所帮助
我检查过这个link:
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
而且我已经将所有第三方 jar 添加到 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 是必需的,但我发现这个命令选项已被弃用,所以如何解决这个问题?
我能够 运行 要点中描述的测试,但是通过修改 groovyc
添加带有 spock jar 的 -cp
标志,如果你有sub-directories 中的来源你应该使用 **/*.groovy
而不是 *.groovy
看看你 运行 java
命令的方式,它似乎在 .
和 org.junit.runner.JUnitCore
[=20= 之间缺少一个 space ]
所以不用
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
请注意第二个space。
.
是添加到类路径的当前目录
希望这对您有所帮助