当实际与预期相同时,为什么这个简单的Rails单元测试会失败?

时间:2009-01-12 16:30:14

标签: ruby-on-rails ruby unit-testing testing

我有一个非常简单的单元测试。当预期与实际相同时,我不确定它为什么会失败!

以下是我正在测试的方法:

def calibration_constant
  big_decimal = self.coefficient * (10**self.exponent)
  return big_decimal.to_f
end

注意,系数为“6.1”,指数为“1”

以下是相关的测试线:

assert_equal(61.0.to_f, calibrations[0].calibration_constant)

这是输出:

test_calibration_constants(PyranometerCalibrationTest): < 61.0>预期但是< 61.0>。

我不能为我的生活弄清楚为什么它会声称失败,显然他们是平等的。有没有人对这种情况有任何意见?我所有其他类似的测试用例都可以正常工作。

我在Windows上使用Rails 2.1(Ruby 1.8)和SQL Server 2005。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:12)

你正在比较两个花车。尝试使用具有非常低的delta值(0.000001)的assert_in_delta来查看您的问题是否只是一个精度错误。