我有一个 PHPUnit 测试,它执行以下操作:
- 使用 Selenium RC 在网页上填写表单
- (应用程序向 Gmail 帐户发送电子邮件)
- 使用 imap_open() 连接到 Gmail 帐户
- 验证电子邮件中是否存在某些字符串
我的问题是我的测试随机失败,因为我没有等待电子邮件发送。在这种情况下你会怎么做?
最佳答案
不要使用外部邮件服务器。设置假邮件。 Python版本更容易使用。 http://fakemail.sourceforge.net/
我已经使用 fakemail 相当长一段时间了,它使我的 php simpletest 测试运行得非常快(没有外部延迟),而且它们 100% 可重复。
如果我想实际测试脚本的邮件发送部分,我会保留一组不同的测试。在我看来,“检查字符串是否存在”和“检查电子邮件是否已发送到 gmail”是两个不同的故障点,应该分为不同的测试。
关于PHPUnit 电子邮件测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4453178/