在此工作规范中将对邮递员的呼叫打上电话,应该怎么做?

时间:2019-01-22 18:03:25

标签: ruby-on-rails rspec

我有以下Rails工作(使用Faktory-worker gem)

class MyJob
  include Faktory::Job

  def perform(id)
    obj = Model.find(id)
    email = Mailer.email_template(obj)
    if(email.deliver)
      // do some stuff
    end
  end
end

我能够编写一个简单的测试,但是由于无法在条件条件中存根liver方法而陷入困境。关于如何进行设置以便通过测试的任何想法?

it "sends an e-mail" do
  mailer = class_double("Mailer").as_stubbed_const(:transfer_nested_constants => true)

  // this does not work
  mailer.stub(:deliver) { true }

  expect(mailer).to receive(:email_template).with(obj)
  MyJob.new.perform(obj.id)
end

0 个答案:

没有答案