Flux 映射方法中的代码覆盖失败

Code coverage failure inside Flux map method

示例代码

Flux<Object> result=userMessagesDataStore.getByParamFilter(params)  ;
    result.map(r -> {
        UserMessageV1 v1 = (UserMessageV1) r;
        v1.setClientName("");
        return v1;
    });

上面的代码单元测试工作正常,但是当我检查声纳时出现代码覆盖问题(检查图像以供参考)。

谁能帮我解决这个问题?

里面的lambda表达式没有被调用。使用它的return类型,并赋值回result变量,否则转换后的Flux没有用,原来的保持不变。

Flux<Object> result = userMessagesDataStore.getByParamFilter(params);
result = result.map(r -> {
    UserMessageV1 v1 = (UserMessageV1) r;
    v1.setClientName("");
    return v1;
});

注意 Flux#map(Function) JavaDoc,特别是 return 类型:

Returns: a transformed Flux