我有一個非常奇怪的RSpec的情況。我試圖測試我的函數是否正確處理異常。而下面是我的代碼:RSpec的用於should_receive和should_not_receive都通過了異常
在User.rb:
def welcome_user
begin
send_welcome_mail(self)
rescue Exception => exception
ErrorMessage.add(exception, user_id: self.id)
end
end
end
在user_spec.rb
it "adds to error message if an exception is thrown" do
mock_user = User.new
mock_user.stub(:send_welcome_mail).and_raise(Exception)
ErrorMessage.should_receive(:add)
mock_user.welcome_user
end
通過了測試,但是當我改變ErrorMessage.should_receive(:add)
到ErrorMessage.should_not_receive(:add)
,它也通過了,有什麼見解?
我也碰到過同樣的事情發生的測試,但它與rspec 2.11消失。看看是否有差別你 – prusswan