临时电子邮件帐户进行集成测试

时间:2012-10-05 17:03:25

标签: email testing integration-testing

我想编写一些集成测试来验证用户是否收到注册确认电子邮件。

理想情况下,为此我想:

  1. 创建临时电子邮件帐户。
  2. 以登记表格传递。
  3. 检查我们是否收到电子邮件。
  4. 删除电子邮件帐户。
  5. 是否有可提供简单API的一次性电子邮件帐户?我找不到任何内容,但现有的内容很容易解析/发出请求(例如http://10minutemail.com/)。

    这听起来是个好主意吗?另一种方法是使用一些gmail帐户并为此目的使用标签。但是,处理垃圾邮件文件夹,其他文件夹等中的msgs听起来有点复杂。

5 个答案:

答案 0 :(得分:34)

您可以使用Gmail中的电子邮件进行测试,只需将+something添加到您的电子邮件地址:

  

myemail@gmail.com

您可以拥有一个可以投放到普通Gmail地址的测试帐户:

  

myemail+testuser1@gmail.com

     

myemail+testusern@gmail.com

答案 1 :(得分:16)

http://mailinator.com支持POP3。

使用任何用户名通过POP3连接到服务器并检查电子邮件。

答案 2 :(得分:6)

我知道这个问题比较陈旧,但这很符合你的目的:

https://grr.la/

  • 一次性电子邮件地址
  • 60分钟后删除电子邮件
  • 可自定义的临时电子邮件地址信息中心

我在每天测试电子邮件或注册我只会使用一次的服务时使用它,这需要电子邮件验证。

我强烈推荐它!

答案 3 :(得分:4)

您可以使用API​​为QA / QC工程师提供特殊服务:

您可以在文章http://railsware.com/blog/2012/06/18/remove-qa-headache-while-testing-email-delivery/

中阅读更多内容

答案 4 :(得分:1)

如果您在Linux机器上运行,它已经有一个运行的电子邮件服务(username@localhost ...例如root@localhost),这对于测试电子邮件脚本是完美的。

我不知道为什么你会自动化这个问题,因为最好还是使用依赖注入并创建一个模拟邮件类,以便你可以充分地进行集成测试 - 而不是最后阶段传输电子邮件只是将内容写入文件,数据库,或者只是在模拟对象中保持活动时间足够长,可以在垃圾收集之前对其进行测试。