我们的应用程序包括错误报告微服务。当我们的应用程序抛出异常信息保存在数据库中时,会向错误报告微服务发送一条消息,并向开发人员发送电子邮件。这在生产中很好,但是由于异常从未打印过,测试不一定会失败,因此集成测试会更加钝化。我想模拟错误报告微服务,以便它在数据库中查找消息和堆栈,记录它,然后抛出异常。那是可能的吗?
这是应该嘲笑的方法的签名:
public void emailException(Long exceptionInfoPrimaryKey);
不幸的是我无法使用PowerMock。
答案 0 :(得分:1)
您是否正在为您的应用程序使用一些DI框架?如果是,那么您可以随时扩展所述类(假设它不是最终的)并使用您自己的集成测试实现覆盖所述emailException
方法。当然,您应该将此扩展类注入到您的应用程序中。