黄瓜测试电子邮件解析?

时间:2011-03-13 21:50:22

标签: ruby-on-rails ruby-on-rails-3 rspec cucumber sendgrid

这是我的第一个stackoverflow问题。

我正在构建一个从SendGrid发布电子邮件的应用程序,然后我想在延迟的工作中解析。

我关心的是如何进行QA测试。我一直在阅读有关Cucumber的内容,这听起来是一个很好的解决方案,但我无法弄清楚端到端的测试流程。

这是我到目前为止的地方。

  1. 我想要一个包含各种类型的电子邮件正文
  2. 的大量TXT文件
  3. 然后我遍历每个txt文件,并确保在传递给我的lib目录/mailingjob.rb中的方法时,返回的内容与黄瓜中定义的内容相匹配。
  4. 所以到目前为止我所拥有的是:

    expected = File.open('???/mail1.txt', 'r') do |f|
      f.read
    end
    

    这就是我开始的地方。如果可以的话,请帮助我理解以下内容:

    1. 所有这些TXT文件应该位于rails项目目录中?
    2. 一个e2e示例,演示如何获取本地文本文件,将其传递给/ lib目录中的方法,然后确保返回的内容等于为该文件路径设置的内容。
    3. 感谢您提供的任何帮助

1 个答案:

答案 0 :(得分:1)

  1. 我可能会将这些文件存储在testspec目录中(取决于您使用的测试框架;您提到了Cucumber,我不是很熟悉,但是我认为它使用名为features的目录。实际上,您可以将它们放在任何您想要的位置,但测试目录的某个子目录是有意义的。

  2. 如果您不熟悉使用Cucumber进行测试,我建议使用Railscast episode 155episode 159来帮助您入门。要回答直接问题,您可以阅读文本文件中的电子邮件

    email_text = File.read("#{Rails.root}/test/path/to/email.txt")
    

    Rails.root始终引用项目的根目录,并且可以轻松构建到其他文件或文件夹的路径。

相关问题