如何忽略Rspec中对具有不同参数的同一方法的某些调用?

rdavila

这是我的情况:

更新AR对象后,它将使用Resque触发一堆后台作业。在我的规范中,我模拟了对Resque#enqueue的调用,类似于以下内容:

it 'should be published' do
  # I need to setup these mocks in many places where I want to mock a specific call to Resque, otherwise it fails
  Resque.should_receive(:enqueue).with(NotInterestedJob1, anything)
  Resque.should_receive(:enqueue).with(NotInterestedJob2, anything)
  Resque.should_receive(:enqueue).with(NotInterestedJob3, anything)

  # I'm only interested in mocking this Resque call.
  Resque.should_receive(:enqueue).with(PublishJob, anything)
end

如您所见,每次我想模拟特定的调用时,我都需要模拟对Resque#enqueue的所有其他调用,有没有办法只模拟一个自定义调用而忽略具有不同参数的其他调用?

提前致谢 ;)

保罗·菲奥拉万蒂

我认为在这种情况下,您将需要做我认为与方法类似的方法as_null_object,但是在这种情况下,该方法专门用于Resque.enqueue您不关心的调用

it 'should be published' do
  allow(Resque).to receive(:enqueue) # stub out this message entirely
  expect(Resque).to receive(:enqueue).with(PublishJob, anything)
  call_your_method.that_calls_enqueue
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何对具有不同参数类型的同一方法的 2 个连续调用进行单元测试

来自分类Dev

如何在同一方法中动态传递调用方法的名称作为参数?

来自分类Dev

如何使用NSubstitute模拟对同一方法的调用序列以在AutoFixture中返回不同的值?

来自分类Dev

如何使用NSubstitute模拟对同一方法的调用序列以在AutoFixture中返回不同的值?

来自分类Dev

具有不同参数的调用方法

来自分类Dev

Pytest:模拟具有相同side_effect的同一方法的多个调用

来自分类Dev

通过参数忽略的R唯一方法

来自分类Dev

在Quickbook PHP API中,如何使用enqueue()将对同一方法的多个调用排队

来自分类Dev

在Quickbook PHP API中,如何使用enqueue()将对同一方法的多个调用排队

来自分类Dev

如何使用SFINAE创建同一方法的2个不同实现

来自分类Dev

在C#5中多次异步调用同一方法是否安全?

来自分类Dev

在Spock中模拟对同一方法的多个调用

来自分类Dev

如何同时启动具有不同参数的同一批处理作业?

来自分类Dev

如何同时启动具有不同参数的同一批处理作业?

来自分类Dev

同一控制器中具有不同参数的多个端点

来自分类Dev

遍历具有不同参数的方法调用

来自分类Dev

具有不同参数的 Java 方法调用

来自分类Dev

Java:如何将两个事件放在同一方法中

来自分类Dev

nameof运算符有什么方法可以访问方法参数(在同一方法之外)?

来自分类Dev

如何使用单个按钮单击事件来调用具有不同参数的方法

来自分类Dev

多次调用同一方法时取消方法调用

来自分类Dev

多次调用同一方法时取消方法调用

来自分类Dev

Java中具有不同参数的接口方法

来自分类Dev

如何使用Java在同一方法中使用不同的字符串值更新变量?

来自分类Dev

如何实现具有不同参数类型的一种方法?

来自分类Dev

如何实现具有不同参数类型的一种方法?

来自分类Dev

一次调用同一方法多次

来自分类Dev

搜索来自Django模型方法的结果,包括先前对同一方法的调用的结果

来自分类Dev

SQL Server表对具有不同参数的同一TSQL分区不同的查询计划

Related 相关文章

  1. 1

    如何对具有不同参数类型的同一方法的 2 个连续调用进行单元测试

  2. 2

    如何在同一方法中动态传递调用方法的名称作为参数?

  3. 3

    如何使用NSubstitute模拟对同一方法的调用序列以在AutoFixture中返回不同的值?

  4. 4

    如何使用NSubstitute模拟对同一方法的调用序列以在AutoFixture中返回不同的值?

  5. 5

    具有不同参数的调用方法

  6. 6

    Pytest:模拟具有相同side_effect的同一方法的多个调用

  7. 7

    通过参数忽略的R唯一方法

  8. 8

    在Quickbook PHP API中,如何使用enqueue()将对同一方法的多个调用排队

  9. 9

    在Quickbook PHP API中,如何使用enqueue()将对同一方法的多个调用排队

  10. 10

    如何使用SFINAE创建同一方法的2个不同实现

  11. 11

    在C#5中多次异步调用同一方法是否安全?

  12. 12

    在Spock中模拟对同一方法的多个调用

  13. 13

    如何同时启动具有不同参数的同一批处理作业?

  14. 14

    如何同时启动具有不同参数的同一批处理作业?

  15. 15

    同一控制器中具有不同参数的多个端点

  16. 16

    遍历具有不同参数的方法调用

  17. 17

    具有不同参数的 Java 方法调用

  18. 18

    Java:如何将两个事件放在同一方法中

  19. 19

    nameof运算符有什么方法可以访问方法参数(在同一方法之外)?

  20. 20

    如何使用单个按钮单击事件来调用具有不同参数的方法

  21. 21

    多次调用同一方法时取消方法调用

  22. 22

    多次调用同一方法时取消方法调用

  23. 23

    Java中具有不同参数的接口方法

  24. 24

    如何使用Java在同一方法中使用不同的字符串值更新变量?

  25. 25

    如何实现具有不同参数类型的一种方法?

  26. 26

    如何实现具有不同参数类型的一种方法?

  27. 27

    一次调用同一方法多次

  28. 28

    搜索来自Django模型方法的结果,包括先前对同一方法的调用的结果

  29. 29

    SQL Server表对具有不同参数的同一TSQL分区不同的查询计划

热门标签

归档