PHPUnit 电子邮件测试

标签 php email phpunit imap

我有一个 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/

相关文章:

html - 无法让图像在移动 View 中堆叠

php - 需要执行composer和npm的WordPress插件的集成测试

PHP性能问题: Faster to leave duplicates in array that will be searched or do array_unique?

php - wp_localize_script $data 数组中的参数

php - php中如何返回错误回调?

php - MySQL 回滚 PHP(不是 MySQL)错误

javascript - 如何在我的 Node.js 脚本中从我的 Gmail 帐户发送电子邮件?

email - 验证邮箱是否用于paypal

phpunit 和 symfony2 : how to assert number of queries from client or response?

php - 如何使用 WAMP 安装 PHPUnit?