繁体   English   中英

CompletableFuture.supplyAsync 代码的代码覆盖率

[英]code coverage of CompletableFuture.supplyAsync code

  1. 我在CompletableFuture.supplyAsync(() -> { }中有 10 行代码
  2. 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功能,而是提供一种仅测试调用代码的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM