在 Rspec 中,我试图测试一个函数的近似返回值。
我定义了以下内容:
def approx_equals(val, expected, perc_error_accepted)
margin = (expected * perc_error_accepted / 100)
return val >= expected - margin && val <= expected + margin
end
现在我想以这种方式测试我的功能:
describe Foo do
context "comparing return values" do
expect(approx_equals(obj.datas[:bar], 500, 10)).to eq(true)
end
end
但我收到以下错误:undefined method 'expect' for #<Class:0x3cf5340> (NoMethodError)
我也尝试了以下方法:
describe Foo do
context "comparing return values" do
approx_equals(obj.datas[:bar], 500, 10).should == true
end
end
但是 rspec 在失败的情况下停止执行,所以这对我来说不是一个好的解决方案。
我究竟做错了什么?