rspec失败说预期:15.35,得到:15.35使用==,这对我没有意义?

Bla*_*man 1 ruby floating-point rspec ruby-on-rails

我的rspec失败了,但是预期和得到的值都是相同的.

表明:

expected: 15.35
     got: 15.35  (using ==)
Run Code Online (Sandbox Code Playgroud)

这是一个数据类型问题吗?

Rya*_*nmt 6

嗯,这可能只是一个浮动比较问题.我认为常见的解决方案如下所示:http://blog.daveastels.com/files/QuickRef.pdf

# Floating Point Comparison
object.should be_close <val>, <delta>
object.should_not be_close <val>, <delta>
Run Code Online (Sandbox Code Playgroud)

  • object.should be_close(&lt;val&gt;, &lt;delta&gt;) - http://rdoc.info/gems/rspec/1.3.2/Spec/Matchers#be_close-instance_method (2认同)