一位同事最近在我們團隊的項目中引入了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