使用Spock对@Immutable groovy类进行存根

时间:2015-05-09 11:54:33

标签: groovy immutability spock stub

例如我有一个班级

@Immutable
class User {
    String id
}

我希望以我用来存根java类的方式存根它

def "should stub class"() {
    given:
    def validator = new BitSolutionValidator(eventBus)
    def student = GroovyStub(User)

    when:
    validator.onStudentHandedOverBitSolution(new StudentHandedOverBitSolutionEvent(
            student, GroovyStub(BitTask), GroovyStub(BitSolution)))

    then:
    student.id >> STUDENT_ID
}

但是当代码执行时我注意到student.id返回null。有没有办法使用Spock存储@Immutable groovy类,或者我必须使用metaClass?

1 个答案:

答案 0 :(得分:1)

我已将grails版本升级到2.4.3并解决了问题。