2012-11-06 58 views
3

我正在嘗試爲我的應用程序編寫一些規範,旨在處理和重新發送傳入的電子郵件。它是用Mailman App構建的。我沒有找到如何做到這一點的好例子。我真正想做的是創建電子郵件(使用Mail gem)並使用Mailman進行處理。但只有使用stding進行測試的選項。我應該如何測試Mailman應用程序

那麼,有沒有任何測試郵遞員應用程序的規格書的例子?

回答

0

我認爲從您的Mailman::Application塊中儘可能多地提取並將其放到您的應用程序中是很有用的。然後測試那個處理。

This Railscast(pro-only,sorry)有一個很好的「替代路由選擇」的例子。

的根本,而不是做這樣的事情:

Mailman::Application.run do 
    subject(/Update (\d+)/) do |ticket_id| 
    ... 

你剛纔說:

Mailman::Application.run do 
    default do 
    MailProcessor.receive_mail(message) 
    end 
end 

然後MailProcessor類會處理讀取消息並調用合適的其他功能在您的應用程序(視郵件的主題,收件人,發件人等)我會RSpec測試MailProcessor類做正確的事情。

這與我如何處理測試rake任務類似(將函數放在您測試的lib文件中,並讓rake任務調用lib文件)。然後,您可以確定正在測試功能正常。如果您對耙子任務偏執,可以嘗試如下方法:http://robots.thoughtbot.com/post/11957424161/test-rake-tasks-like-a-boss