目前,當我有一個延遲的方法,在我的代碼如下所示:使用rSpec測試delayed_job鏈的最佳方法是什麼?
CommentMailer.delay.deliver_comments(@comment, true)
我寫這樣的事情在我的規格:
dj = mock("DelayProxy")
CommentMailer.should_receive(:delay).and_return(dj)
dj.should_receive(:deliver_comments).with(comment, true)
有沒有更好的方式來處理這個和/或像rSpec中的鏈式方法一般?
使用'從RSpec的,嘲笑的老'stub':should'語法不顯式啓用語法在rspec-3中已棄用。這似乎工作'expect(CommentMailer).to接收(:延遲).and_return(CommentMailer)''。如果你不想明確地測試它,你可以使用'allow'而不是'expect'。 – Pete