gpt4 book ai didi

java - 如何模拟 lambda 表达式 anymatch 返回对象

转载 作者:太空宇宙 更新时间:2023-11-04 09:44:25 26 4
gpt4 key购买 nike

我正在测试一个使用 lambda 表达式来匹配值的 java 方法。

我想测试条件的真假。

employee.getAppraisals().stream().anyMatch(appraisal::isPromoted)

我尝试使用下面的代码来创建mockito单元测试,但它从来没有工作过。我点击的链接是:Use Mockito 2.0.7 to mock lambda expressions

Mockito.when(employee.getAppraisals()
.stream()
..anyMatch(p->p.equals(Mockito.any()))).thenReturn(true)

但我不知道如何使用mockito模拟Promotion对象以将其proposal.isPromoted的bean属性值返回为true。

最佳答案

您不想模拟整个stream()链。

您想在这里模拟两个东西,getAppraisals()它将返回mock(Appraisal.class)的集合。

这些评估模拟随后将响应 isPromoted() 的方法调用。

关于java - 如何模拟 lambda 表达式 anymatch 返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55597653/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com