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

标签 groovy command-line 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

并且我已经将所有第三方 jar 添加到 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 是必需的,但我发现这个命令选项已被弃用,那么如何解决这个问题?

最佳答案

我能够运行要点中描述的测试,但是修改了 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

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

希望对你有帮助

关于groovy - 如何从命令行运行 spock 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41892962/

相关文章:

Groovy 列出类的所有属性

hibernate - 在 GORM 中查询计算字段

batch-file - BATCH : How to read a . txt 文件删除具有特定文件名的某些列出的文件

c++ - 调用其他程序的程序

groovy - 在 Spock 中,如何根据某些条件选择数据表中的某些行来运行?

java - 从 spock 模拟执行回调

jenkins - Jenkins-Groovy脚本返回了退出代码126

ruby - 在 Ruby 终端中创建百分比计数器

unit-testing - Spock - 将集合上的断言扩展为单独的测试,例如 @Unroll

java - log4j:如何获取最后插入的日志消息?