我一直在使用 spock 编写测试。但是为了测试 Equals Hashcode 合约,我正在尝试使用EqualsVerifier。所以我的测试代码看起来像:
def "test equals hashcode contract"() {
EqualsVerifier.forClass(Content.class).verify();
}
但这看起来不像它与 spock 一起运行。
我该如何解决这个问题?我希望更喜欢使用 spock 进行测试。
我一直在使用 spock 编写测试。但是为了测试 Equals Hashcode 合约,我正在尝试使用EqualsVerifier。所以我的测试代码看起来像:
def "test equals hashcode contract"() {
EqualsVerifier.forClass(Content.class).verify();
}
但这看起来不像它与 spock 一起运行。
我该如何解决这个问题?我希望更喜欢使用 spock 进行测试。
一切正常,但在 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