У меня был действительно странный сценарий rspec. Я попытался проверить, правильно ли моя функция обрабатывает исключение. И следующий мой код:
в User.rb:
def welcome_user
begin
send_welcome_mail(self)
rescue Exception => exception
ErrorMessage.add(exception, user_id: self.id)
end
end
end
в пользователе _спец.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)
, он также проходит, какие-нибудь идеи?