【问题标题】:Junit: unit test 'receive' email featureJunit:单元测试“接收”电子邮件功能
【发布时间】:2012-08-29 22:27:51
【问题描述】:

有一个 Java 应用程序可以发送电子邮件通知,该通知由用户在 UI 上的更新触发。我正在尝试编写 JUnit 测试用例,通过寻找接收消息的方式来验证电子邮件是否已成功发送。

Dumbster 对我不起作用,因为它用于在测试程序本身中发送电子邮件和接收邮件。

如何测试此功能?非常感谢您的帮助。

-瓦迪拉杰。

【问题讨论】:

    标签: java email junit


    【解决方案1】:

    首先,听起来您在谈论集成测试,而不是单元测试。

    一次性设置:

    • 在 gmail 上手动创建邮件帐户
    • 在 gmail 帐户设置中启用 IMAP。

    由于谷歌使用机器人检测,这些步骤很难自动化。

    测试用例:

    • 修改用户帐户以使用上面创建的 gmail 帐户的电子邮件地址
    • 执行被测代码(针对给定用户)
    • 使用 IMAP 查询 gmail 帐户
    • 使用 IMAP 删除邮件(如果存在)

    有一些很好的 java-imap 库可以让 gmail 审讯变得非常容易。 以下是快速搜索的结果:

    http://harikrishnan83.wordpress.com/2009/01/24/access-gmail-with-imap-using-java-mail-api/

    【讨论】:

      【解决方案2】:

      dumbster 的目的是删除外部电子邮件服务器。

      如果这还不够,则建议您尝试测试电子邮件服务器和网络基础设施的功能。

      这可能仅在您使用生产电子邮件服务和网络基础架构时才有意义 - 因为在测试环境中可能会以不同方式配置。

      如果你确定你认为这是一个好主意,@Lithium 的建议方法是有道理的。

      我们有一个用于测试环境的开发邮件服务器,与citadel 一起使用,测试人员可以让他们查看发送了哪些电子邮件。如果我要编写这个测试,我会使用内部邮件服务器而不是依赖谷歌。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多