如何在 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=]值。
我尝试了所有方法来获得此 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=]值。