gpt4 book ai didi

java - 是否可以在java流中使用when()初始化模拟

转载 作者:行者123 更新时间:2023-12-01 07:44:32 25 4
gpt4 key购买 nike

我正在编写一个测试,其中我有一个集合将被放入一个方法中。然后我将模拟该方法,以便它始终返回 return true。

我希望能够在流的帮助下做到这一点,这样我就可以拥有一个大集合。我使用 JUnit4 进行测试,使用 Mockito 进行模拟。

示例:

setWithValues.stream().map(value-> when(method.returnTrueOrFalse(value)).thenReturn(true));

最佳答案

虽然我只能推测代码的问题是什么,但我的猜测是,由于没有终端操作,模拟永远不会执行,感觉就是错误的。问题是它为集合中的每个值引入了新的 stub 。考虑以下替代方案:

when(method.returnTrueOrFalse(Mockito.argThat(org.hamcrest.collection.IsIn.isIn(setWithValues)))).thenReturn(true);
// Or with static imports
when(method.returnTrueOrFalse(argThat(isIn(setWithValues)))).thenReturn(true);

它将有助于可调试性,并且随着您的集合的扩大而更好地扩展。

关于java - 是否可以在java流中使用when()初始化模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56112445/

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