在我的公共方法#recalculate中,调用私有method1
。此方法抛出异常“ StandardError”。我想测试这种情况,但是出现错误。
注意:我不想处理异常。
def recalculate
method_1
end
private
def method_1
## do some calculation
raise StandardError.new("Test")
end
Rspec测试用例:
it "Test" do
expect { @product.recalculate.recalculate }.to raise_error(StandardError)
@product.recalculate
end
1) Product.Test
Failure/Error: @product.recalculate
StandardError:
Test
(required)>'
在1.39秒内完成 1例,1例失败
答案 0 :(得分:0)
根据您的示例,第二行@product.recalculate
引发了实际的异常,因此引发了错误。假设recalculate
对象中定义了@product
方法,这足以测试它。
it "Test" do
expect { @product.recalculate }.to raise_error(StandardError)
end