使用Rspec测试Sidekiq后台作业的结果

时间:2015-01-30 15:48:02

标签: ruby-on-rails ruby testing rspec sidekiq

我有一个模型方法,可以将信息发送到sidekiq后台作业。后台作业更改了对象的某些属性。我想测试以确保按预期发生这种情况。

我编写的Rspec测试创建了对象,然后运行该方法并期望更改该属性。但是,属性没有变化,我怀疑后台作业没有在Rspec测试中运行。任何人都知道如何使sidekiq进程在测试中成为一个工作,以便它实际上改变属性

1 个答案:

答案 0 :(得分:2)

在测试中使用内联支持:

Sidekiq::Testing.inline! do
  model.do_something
end

了解详情:https://github.com/mperham/sidekiq/wiki/Testing