如何为 Rails 中的线程编写测试用例?

4

在我的Rails应用程序中(Rails版本为2.3.12),我使用线程来发送电子邮件,如下所示:

Thread.new{SomeMailer.deliver_method(stuff)} 

如何在Rails中测试这个线程。实际上我把这行代码写在了model里。
提前感谢, Jak.
1个回答

2
总的来说,在Rails中不要使用线程。每个进程使用一个单独的线程,并使用后台工作者来完成此类任务。流行的工作者包括delayed_jobresque
在delayed_job中:
SomeMailer.delay.deliver_method(stuff)

在 Resque 中:
class DeliverStuff
  @queue = :mail

  def self.perform(stuff)
    SomeMailer.deliver_method(stuff)
  end
end

# elsewhere
Resque.enqueue(DeliverStuff, stuff)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接