- 我有 10 行代码
CompletableFuture.supplyAsync(() -> { }
- 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/