一位同事最近在我们团队的项目中引入了Spock单元测试,并且我的Eclipse集成遇到了一个恼人的问题:无论何时我们创建参数化测试并在其上使用@Unroll注释,Eclipse JUnit视图都会失去关联与测试类并在“无根测试”下显示结果。如何停止@Unrolled Spock测试在Eclipse Junit视图中显示为“Unrooted Tests”?
例如,结果这个测试类:
package test
import spock.lang.Specification
import spock.lang.Unroll
class TestSpockTest extends Specification {
def "Not Unrolled Test"() {
when: "something"
then: "one equals one"
1 == 1
}
@Unroll
def "Unrolled Test #param"(Integer param) {
when: "something"
then: "a numer equals itself"
param == param
where:
param << [1, 2, 3]
}
}
显示是这样的:
我怎样才能得到展开的测试案例(如 “展开测试1”)在“Test.TestSockTest”下面显示“Not Unrolled Test”?我的Spock测试是否存在Eclipse JUnit插件可以理解的命名约定?
我使用:
- Eclipse的开普勒SR1
- 斯波克核-0.7-常规-2.0
- Jspresso斯波克插件2.71
- Groovy的Eclipse插件2.8
- 的JUnit 4.8 .2
你还试过@Unroll在班级而不是方法? – dmahapatro
是的。不管是@Unroll是处于类还是方法级别,Eclipse JUnit视图仍然显示相同的内容。 –
我看到一个相关的[日食中的bug](https://bugs.eclipse.org/bugs/show_bug.cgi?id=343129)。可能是这是原因。 – dmahapatro