繁体   English   中英

如何从命令行运行 spock 测试?

[英]How to run spock test from command line?

我检查了这个链接:

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

并且我已将所有第三方 jars 添加到 CLASSPATH,因此所有从这些库中的导入都找到了。但我自己的所有类都找不到,错误消息如下:

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,但我发现这个命令选项已被弃用,那么如何解决这个问题?

我能够运行 gist 中描述的测试,但是通过修改groovyc将带有 spock jar 的-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

请注意第二个空格。 . 是当前目录添加到类路径

希望这可以帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM