我想编写一些集成测试来验证用户是否收到注册确认电子邮件。
理想情况下,为此我想:
- 创建临时电子邮件帐户。
- 在注册表中传递它。
- 检查我们是否收到电子邮件。
- 删除电子邮件帐户。
是否有提供简单 API 的一次性电子邮件帐户?我找不到任何内容,但现有的请求相当容易解析/发出请求(例如http://10minutemail.com/)。
这听起来是个好主意吗?另一种方法是使用一些 gmail 帐户并为此使用标签。但是,处理垃圾邮件文件夹、其他文件夹等中的 msgs 听起来有点复杂。
我想编写一些集成测试来验证用户是否收到注册确认电子邮件。
理想情况下,为此我想:
是否有提供简单 API 的一次性电子邮件帐户?我找不到任何内容,但现有的请求相当容易解析/发出请求(例如http://10minutemail.com/)。
这听起来是个好主意吗?另一种方法是使用一些 gmail 帐户并为此使用标签。但是,处理垃圾邮件文件夹、其他文件夹等中的 msgs 听起来有点复杂。
您可以使用来自 Gmail 的电子邮件进行测试,只需附加+something
到您的电子邮件地址:
myemail@gmail.com
您可以拥有一个测试帐户,该帐户将发送到您的正常 Gmail 地址:
我的电子邮件+testuser1@gmail.com
我的电子邮件+testusern@gmail.com
http://mailinator.com支持 POP3。
使用任何用户名通过 POP3 连接到服务器并检查电子邮件。
我知道这个问题比较老,但这很符合您的目的:
我每天在测试电子邮件或注册我只会使用一次的服务时使用它,这些服务需要电子邮件验证。
我强烈推荐它!
您可以使用 API 为 QA/QC 工程师提供特殊服务:
您可以在文章http://railsware.com/blog/2012/06/18/remove-qa-headache-while-testing-email-delivery/中阅读更多内容
如果您在 linux 机器上运行,它已经运行了一个电子邮件服务(username@localhost
...例如root@localhost
),这对于测试电子邮件脚本来说非常完美。
我不知道您为什么要麻烦自动执行此操作,而最好使用依赖注入并创建一个模拟邮件类,这样您就可以充分进行集成测试-而不是传输电子邮件的最后阶段它只是将内容写入文件、数据库,或者只是在模拟对象中保持活动足够长的时间,以便在垃圾收集之前对其进行测试。