gpt4 book ai didi

java - CompletableFuture.supplyAsync 代码的代码覆盖率

转载 作者:行者123 更新时间:2023-11-28 20:07:23 27 4
gpt4 key购买 nike

  1. 我在 CompletableFuture.supplyAsync(() -> { }
  2. 中有 10 行代码
  3. junit 测试用例跳过了那 10 行代码。我怎样才能涵盖这 10 个行
    CompletableFuture.supplyAsync(() -> {

// line 1
// line 3
..
..
..
// line 10


}

最佳答案

没有实际测试用例的意识。您可以做的改进代码的方法是将这 10 行代码抽象为一个方法,然后可以从供应商处调用。

这将使您能够轻松地单独测试该方法,甚至无需调用代码中使用的 CompletableFuture.supplyAsync(...) 行。

例如,考虑这个抽象

CompletableFuture.supplyAsync(() -> supplyingMyValue());

存在 supplyingMyValue 方法的地方,例如

Value supplyingMyValue() {
// perform some logic
return new Value();
}

现在您可以独立地测试此方法。

注意:此解决方案仍然不会测试 supplyAsync 功能,但提供了一种仅测试调用代码的方法。

关于java - CompletableFuture.supplyAsync 代码的代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58535372/

27 4 0