PHPUnit电子邮件测试

nny*_*yby 2 php email phpunit imap

我有一个执行以下任务的PHPUnit测试:

  • 使用Selenium RC在网页上填写表格
  • (应用程序将电子邮件发送到Gmail帐户)
  • 使用imap_open()连接到gmail帐户
  • 验证电子邮件中是否存在某些字符串

我的问题是我的测试随机失败,因为我没有等待发送电子邮件。在这个情况下,你会怎么做?

小智 5

不要使用外部邮件服务器。设置假邮件。Python版本更易于使用。http://fakemail.sourceforge.net/

我已经使用了很多时间的假邮件,这使我的phptesttest测试运行非常快(没有外部延迟),并且100%可重复。

如果要实际测试脚本的邮件发送部分,则保留一组不同的测试。在我眼中,“检查字符串是否存在”和“检查电子邮件是否已发送至gmail”是两个不同的故障点,应分为不同的测试。