如何在 lambda 方法上获得 100% 的覆盖率 [JAVA]

How to get 100% of coverage on lambda method [JAVA]

我尝试了所有方法来获得此 lambda 方法的 100% 覆盖率,但无论我做什么我都没有得到它。

private String createMessage(List<FieldError> erros) {
    return erros.stream().collect(Collectors.toMap(FieldError::getField, FieldError::getDefaultMessage, (keyOld, keyNew) -> keyOld)).toString();
}

未覆盖的代码是 lambda 表达式的实现。您只有一个 lambda 表达式 (keyOld, keyNew) -> keyOld,这意味着该代码不会被执行。

lambda 表达式是 Collectors.toMap() 的第三个参数,即 BinaryOperator<U> mergeFunction,它被记录为 “合并函数,用于解决与相同关联的值之间的冲突钥匙.

如果数据中没有冲突,lambda 表达式将不会执行,因此请确保使用 erros 列表包含 2 个或更多具有相同 [= 的元素的数据测试代码14=]值。