为什么两个独立的测试依赖于 Spock?
Why two separate tests are dependent in Spock?
我有两个完全独立的测试来验证两个不同的构建器(尽可能简化)。第二个失败了,但没有理由这样做。为什么会这样?
def "first"() {
StringBuilder builder
expect: true
}
def "second"() {
expect: true
where:
builder << [new ProcessBuilder()]
}
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot
cast object 'java.lang.ProcessBuilder@186f8716' with class
'java.lang.ProcessBuilder' to class 'java.lang.StringBuilder'
这个问题实际上是 that one 的重复问题。
底线:你在 Spock 中遇到了 bug #880,大约一周前已经解决了,你可能会在最终版本 Spock 2.0 或下一个里程碑版本中享受修复,如果有的话在最后一个之前还有一个。
解决方法:将第二个变量重命名为其他名称。
该问题的技术背景及同时修复的相关问题可以在相应的pull request #1111.
中找到
我有两个完全独立的测试来验证两个不同的构建器(尽可能简化)。第二个失败了,但没有理由这样做。为什么会这样?
def "first"() {
StringBuilder builder
expect: true
}
def "second"() {
expect: true
where:
builder << [new ProcessBuilder()]
}
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'java.lang.ProcessBuilder@186f8716' with class 'java.lang.ProcessBuilder' to class 'java.lang.StringBuilder'
这个问题实际上是 that one 的重复问题。
底线:你在 Spock 中遇到了 bug #880,大约一周前已经解决了,你可能会在最终版本 Spock 2.0 或下一个里程碑版本中享受修复,如果有的话在最后一个之前还有一个。
解决方法:将第二个变量重命名为其他名称。
该问题的技术背景及同时修复的相关问题可以在相应的pull request #1111.
中找到