为了账号安全,请及时绑定邮箱和手机立即绑定

Java8 单元测试 CompletableFuture 异常

Java8 单元测试 CompletableFuture 异常

白衣染霜花 2023-04-13 10:52:52
我正在使用 CompletableFuture Java8 类在 Java 中异步进行网络调用,特别是使用该supplyAsync()方法。它工作得很好。我发现我可以使用CompletableFuture.completedFuture(). 我想弄清楚的是如何对异步任务期间抛出异常(即 、 或 )的CompletionException情况InterruptedException进行单元测试(如果可能)。ExecutionExceptionhttps://www.baeldung.com/java-completablefuture是一个起点和有用的来源,但没有解决这个问题。我的第一种方法无法编译:final CompletableFuture<ResponseType> completableFutureException =        CompletableFuture.completedFuture(new InterruptedException());我的第二种方法可预见地在运行时生成ClassCastException: final CompletableFuture completableFutureException =        CompletableFuture.completedFuture(new InterruptedException());java.lang.ClassCastException: java.lang.InterruptedException cannot be cast to ResponseType听起来CompletableFuture<U> newIncompleteFuture()Java9 中的方法也可能有所帮助 - 唉,我们暂时停留在 Java8 上。如果 Java9 能在这里帮助我,我仍然会很高兴知道。正如我所说,我想弄清楚是否有一种合理的方法可以在 Java8 中对此进行测试(最好不使用 PowerMock,因为我们很难让它与 Gradle 很好地配合)。如果这真的不是单元测试的,我可以接受并继续。
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信