PHPUnit电子邮件测试

时间:2010-12-15 17:50:53

标签: php email phpunit imap

我有一个PHPUnit测试,它执行以下操作:

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

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

2 个答案:

答案 0 :(得分:5)

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

我已经使用了假邮件很长一段时间,它使我的php简单测试运行得非常快(没有外部延迟),并且它们是100%可重复的。

如果我想实际测试邮件发送部分脚本,我会保留一组不同的测试。在我看来,'检查字符串是否存在'和'检查电子邮件是否已发送到gmail'是两个不同的失败点,应该分成不同的测试。

答案 1 :(得分:1)

您还可以通过解析测试Gmail帐户的RSS Feed来“检查”该电子邮件:

http://www.internoetics.com/2012/08/08/create-a-gmail-rss-feed/