我正在创建一个基于Spring的Web应用程序,我使用Spring将服务的实现添加到定义的接口。到目前为止,如此标准。工作正常。
我想允许用户在运行时为其会话覆盖应用程序行为。为此,我希望spring根据用户会话改变接口背后的实现。
用例就是在INT上运行的自动测试用例,应该测试系统创建的电子邮件的输出。在INT上有一个电子邮件服务器配置发送电子邮件到我们的邮件服务器。我不希望测试用例必须使用邮件协议来检查邮件。我希望万一自动测试用例正在运行以改变电子邮件实现,将电子邮件作为注释写入HTML,因此我的测试可以轻松检查结果。所以还有更多这样的情况,在特殊情况下更改实现bean会很好。
春天是否有一个概念可以帮助我实现这样的功能,还是我必须自己创建?
其他信息:这都是关于自动验收测试的。这些测试运行在我们与maunual测试人员共享的系统上。 =>手动测试人员希望获得测试的真实电子邮件 =>自动测试通过不接收电子邮件来降低复杂性,只需检查具有较少依赖性的电子邮件内容。 没有问题,如果我们有两个系统,一个配置为人类需要,一个配置用于自动化测试需求。但事实并非如此,所以我需要一种方法来改变运行时的系统行为。
答案 0 :(得分:0)
通常以下列方式完成:
assertEquals("<expected_email_text>", mailServiceMock.getLastEmail())
之类的内容。从您的问题不清楚为什么您会偏离上述标准方法。如果您解释了原因,或许可以更容易找到合适的答案。