首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >should_receive和should_not_receive的RSpec都因异常而传递

should_receive和should_not_receive的RSpec都因异常而传递
EN

Stack Overflow用户
提问于 2012-07-04 06:16:32
回答 2查看 4.4K关注 0票数 9

我遇到了一个非常奇怪的rspec案例。我尝试测试我的函数是否正确处理异常。下面是我的代码:

在User.rb中:

代码语言:javascript
复制
def welcome_user
      begin
        send_welcome_mail(self)
      rescue Exception => exception
         ErrorMessage.add(exception, user_id: self.id)
      end
    end
end

在user_spec.rb中

代码语言:javascript
复制
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)时,它也通过了,有什么见解吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-14 23:29:59

由于rspec 2.11暴露了我的一个测试来展示这种“异常”,所以我决定在github上提出这个问题。您可以在https://github.com/rspec/rspec-mocks/issues/164上关注该讨论

摘要:未定义any_instance.should_not_receive,请避免

票数 5
EN

Stack Overflow用户

发布于 2015-02-14 15:07:07

您可以尝试将.should_receive.never结合使用

代码语言:javascript
复制
ErrorMessage.should_receive(:add).never
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11319975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档