java - 使用 Mockito 根据参数从 void 方法抛出异常

标签 java mockito

我们的应用程序包含错误报告微服务。当我们的应用程序抛出异常时,信息将保存在数据库中,一条消息会发送到错误报告微服务,并向开发人员发送一封电子邮件。这在生产中非常有用,但使集成测试变得更加迟钝,因为永远不会打印异常,并且测试不一定会失败。我想模拟错误报告微服务,以便它在数据库中查找消息和堆栈,记录它,然后引发异常。这是可能的吗?

这是应该模拟的方法的签名:

public void emailException(Long exceptionInfoPrimaryKey);

不幸的是我无法使用PowerMock。

最佳答案

您的应用程序是否使用某些 DI 框架?如果是,那么您始终可以扩展所述类(假设它不是最​​终的)并使用您自己的实现来覆盖所述 emailException 方法以进行集成测试。当然,您应该将这个扩展类注入(inject)到您的应用程序中。

关于java - 使用 Mockito 根据参数从 void 方法抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41991882/

相关文章:

java - 使用 PowerMock 模拟单例的 getInstance

java - 从Gradle执行Java类时找不到Main

java - 创建 JsonProcessingException

scala - Spark : Scala mocking, 任务不可序列化

java - Intellij 无法运行项目

Spring WebFlux : onErrorResume not being called when exception is thrown halfway during the webclient reactive chain

java - 对使用 httpclient 的类进行单元测试

java - struts2 每个(ajax)请求的action class-1 类?

java - 在控制台输出中使用 println 正确排序运行时异常

java - 将 .Jar 转换为 .Dmg