2011-09-13 38 views
4

在我的Rails应用程序(导轨版本2.3.12是),我使用线程发送邮件像下面如何编写线程中的线程测试用例?

Thread.new{SomeMailer.deliver_method(stuff)} 

如何在轨测试此线程。其实我在模型中写了这条线。

在此先感谢, Jak。

回答

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)