Grails 斯波克近似比较
我一直在寻找与JUnit中的以下方便方法类似的Spock方法,通过该方法可以进行“近似”比较。有人知道这样的事情是否存在吗Grails 斯波克近似比较,grails,junit,spock,Grails,Junit,Spock,我一直在寻找与JUnit中的以下方便方法类似的Spock方法,通过该方法可以进行“近似”比较。有人知道这样的事情是否存在吗 /** * Asserts that two doubles or floats are equal to within a positive delta. */ assertEquals(double expected, double actual, double delta) 我不知道是否有一个斯波克等效,但它很容易写自己的 class Foo extends
/**
* Asserts that two doubles or floats are equal to within a positive delta.
*/
assertEquals(double expected, double actual, double delta)
我不知道是否有一个斯波克等效,但它很容易写自己的
class Foo extends Specification {
private boolean compareApproximately(Number expected, Number actual, Number delta) {
Math.abs(expected - actual) <= delta
}
def "approximate test"() {
expect:
compareApproximately(4, 4.5, 1)
!compareApproximately(4, 4.5, 0.1)
}
}
class Foo扩展了规范{
私有布尔比较近似值(预期数、实际数、增量数){
Math.abs(预期-实际)有内置函数,如中所述:
查看。您可能需要使用Hamcrest matchers。这更具体地回答了问题。感谢@Michal_SzulcSee还提供了提到Hamcrest支持和的Spock发行说明。
when:
def x = computeValue()
then:
expect x, closeTo(42, 0.01)