我正在尝试为我的应用程序编写一些规范,旨在处理和重新发送收到的电子邮件。它是用 Mailman App 构建的。我没有找到任何关于如何做到这一点的好例子。我实际上在尝试创建电子邮件(使用 Mail gem)并使用 Mailman 处理它。但是只有使用 stding 进行测试的选项。
那么,是否有任何编写规范的示例来测试 postman 应用程序?
最佳答案
我认为从您的 Mailman::Application
block 中提取尽可能多的内容并将其放入您的应用程序中的某个地方是很有用的。然后测试该处理。
This Railscast (仅限专业人士,抱歉)有一个非常好的“替代路由”的例子。
基本上不是做这样的事情:
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 文件。)然后您可以相当确定该功能正在被正确测试.如果您对 rake 任务有疑虑,您可以尝试以下方法:http://robots.thoughtbot.com/post/11957424161/test-rake-tasks-like-a-boss .
关于ruby - 我应该如何测试 Mailman 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13259142/