假设我有一个返回 double 数组的函数。我想测试这个函数并手动计算出正确的值。但是,由于它是浮点数,因此我无法进行直接比较,所以 ScalaTest 是否有任何甜蜜的语法使我能够将双数组与 epsiion/误差容限进行比较?

谢谢

最佳答案

因为我担心 ScalaTest 中没有很好的语法,所以我会用一个非常基本的解决方案来接受我自己的答案。

val Eps = 1e-3 // Our epsilon

val res = testObject.test // Result you want to test.
val expected = Array(...) // Expected returning value.

res.size should be (expected.size)

for (i <- 0 until res.size) res(i) should be (expected(i) +- Eps)

正如所见,这是有效的。然后你可以通过定义一个隐式方法来使它更好。

关于ScalaTest - 测试两个具有误差幅度的浮点数组之间的相等性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27213930/

10-16 01:20