У меня проблема с управляемыми данными тестами в Споке. Если заголовок с данными содержит переменную (в данном случае 'b'), названную как переменная в другом методе объекта, выдается следующее исключение:
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object '3' with class 'java.lang.Integer' to class 'java.util.UUID'
Пример класса спецификации:
class ExampleSpec extends Specification {
def 'example feature with variable named like datatable header'() {
given:
UUID b = UUID.randomUUID()
when:
def length = b.toString().length()
then:
length == 36
}
def "maximum of two numbers"() {
expect:
Math.max(a, b) == c
where:
a | b | c
1 | 3 | 3
0 | 0 | 0
}
}
Кто-нибудь знает, в чем причина того, что переменная заголовка datatable таким неожиданным образом сталкивается с переменной, определенной в предыдущем методе объектов?
Проблема возникает только в версии: 1.x-groovy-2.5.