3

我正在尝试为我的应用程序编写一些规范,以处理和重新发送传入的电子邮件。它是用 Mailman 应用程序构建的。我没有找到任何关于如何做到这一点的好例子。我真正尝试的是创建电子邮件(使用 Mail gem)并使用 Mailman 处理它。但是只能选择使用 stding 进行测试。

那么,是否有任何为测试邮递员应用程序而编写的规范示例?

4

1 回答 1

0

我认为尽可能多地从您的Mailman::Application块中提取并将其放入您的应用程序的某个地方是有用的。然后测试该处理。

这个 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 。

于 2013-09-15T03:21:42.143 回答