Ruby on rails Rspec测试(无法判断是否正在执行某行代码)

Ruby on rails Rspec测试(无法判断是否正在执行某行代码),ruby-on-rails,rspec,Ruby On Rails,Rspec,我尝试在rspec中测试此方法: def resend_if_failed ResendWorker.new(self).resend_message end 如何测试执行了ResendWorker.new(self).resendu消息 如果您的规范中有实例,您可以执行以下操作: expect(instance).to receive(:resend_if_failed) instance.resend_if_failed 显然,我猜如果失败,则重新发送是由另一种方法触发的 然后,如有

我尝试在rspec中测试此方法:

def resend_if_failed
  ResendWorker.new(self).resend_message
end

如何测试执行了
ResendWorker.new(self).resendu消息

如果您的规范中有实例,您可以执行以下操作:

expect(instance).to receive(:resend_if_failed)
instance.resend_if_failed
显然,我猜如果失败,则重新发送是由另一种方法触发的


然后,如有必要,单独测试
如果失败则重新发送行为。

如果规范中有实例,您可以执行以下操作:

expect(instance).to receive(:resend_if_failed)
instance.resend_if_failed
worker = double
allow(ResendWorker).to receive(:new).and_return(worker)
expect(worker).to receive(:resend_message)

instance.resend_if_failed
显然,我猜如果失败,则重新发送是由另一种方法触发的


然后,如有必要,单独测试
如果失败则重新发送行为。

如果规范中有实例,您可以执行以下操作:

expect(instance).to receive(:resend_if_failed)
instance.resend_if_failed
worker = double
allow(ResendWorker).to receive(:new).and_return(worker)
expect(worker).to receive(:resend_message)

instance.resend_if_failed
显然,我猜如果失败,则重新发送是由另一种方法触发的


然后,如有必要,单独测试
如果失败则重新发送行为。

如果规范中有实例,您可以执行以下操作:

expect(instance).to receive(:resend_if_failed)
instance.resend_if_failed
worker = double
allow(ResendWorker).to receive(:new).and_return(worker)
expect(worker).to receive(:resend_message)

instance.resend_if_failed
显然,我猜如果失败,则重新发送是由另一种方法触发的


然后,如有必要,单独测试
如果失败则重新发送行为。

谢谢您的帮助。我知道如何调用该方法,但我想检查在我的测试套件中,
ResendWorker
的新实例上是否调用了
resendu message
。感谢您的帮助。我知道如何调用该方法,但我想检查在我的测试套件中,
ResendWorker
的新实例上是否调用了
resendu message
。感谢您的帮助。我知道如何调用该方法,但我想检查在我的测试套件中,
ResendWorker
的新实例上是否调用了
resendu message
。感谢您的帮助。我知道如何调用该方法,但我想检查在我的测试套件中,
ResendWorker
的新实例上是否调用了
resendu message
。感谢您的帮助…这非常有用。感谢您的帮助…这非常有用。感谢您的帮助…这非常有用。感谢您的帮助…这非常有用真的很有帮助。
worker = double
allow(ResendWorker).to receive(:new).and_return(worker)
expect(worker).to receive(:resend_message)

instance.resend_if_failed