如何在rails中编写线程测试用例?

时间:2011-09-13 14:49:58

标签: ruby-on-rails unit-testing integration-testing

在我的rails应用程序中(rails版本是2.3.12),我使用线程发送如下邮件

Thread.new{SomeMailer.deliver_method(stuff)} 

如何在rails中测试此线程。实际上我在模型中写了这一行。

提前致谢, JAK。

1 个答案:

答案 0 :(得分: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)