我一直在JUnit中寻找与以下便捷方法等效的Spock,您可以在其中进行“近似”比较。有人知道这种事是否存在吗?
/**
* Asserts that two doubles or floats are equal to within a positive delta.
*/
assertEquals(double expected, double actual, double delta)
答案 0 :(得分:6)
答案 1 :(得分:1)
我不知道有没有Spock等效项,但是编写自己的很容易
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)
}
}
在实践中,您可能希望通过在特征,compareApproximately
的子类或实用程序类中的静态方法中定义Specification
在规范之间可重用。