如何在Spock测试中使用EqualsVerifier

时间:2015-06-07 02:40:03

标签: testing junit spock equalsverifier

我一直在使用spock编写测试。但是为了测试Equals Hashcode合约,我试图使用EqualsVerifier。所以我的测试代码如下:

def "test equals hashcode contract"() {
    EqualsVerifier.forClass(Content.class).verify();
}

但这看起来并不像spock那样运行。

我该如何解决这个问题?我希望更喜欢使用spock进行测试。

1 个答案:

答案 0 :(得分:4)

一切正常但是在spock中它有点不同,请参阅:

@Grab('org.spockframework:spock-core:0.7-groovy-2.0')
@Grab('cglib:cglib-nodep:3.1')
@Grab('nl.jqno.equalsverifier:equalsverifier:1.7.2')

import spock.lang.*
import nl.jqno.equalsverifier.*

class Test extends Specification {
    def 'sample'() {
        when:
        EqualsVerifier.forClass(SomeClass).verify()

        then:
        noExceptionThrown()
    }
}

class SomeClass {}

规范失败,因为抛出 异常 - 需要更正SomeClass。看看伟大的docs