gpt4 book ai didi

java - Mockito:如何动态设置 thenReturn() ?

转载 作者:行者123 更新时间:2023-11-30 01:52:37 28 4
gpt4 key购买 nike

我有一个接受项目列表的方法。我希望模拟方法返回相同大小的相应列表(即 List<Results> )

更一般地说,是否可以根据给定的输入动态设置返回值?

问题是我对同一个方法进行了多次测试。测试 A 用于空列表,测试 B 用于包含多个对象的列表。然而,我只有一个@Before方法。

最佳答案

您可以使用thenAnswer ,可能与 ArgumentCaptor 结合使用来实现这一目标。

但真正的答案是:考虑不这样做。

单元测试应该是直接的。当出现问题时,您快速查看单元测试,并且您已经知道在生产代码中查找根本原因。任何增加测试复杂性的事情都可能使测试变得更加困难。

换句话说:不要考虑提供动态结果的复杂测试代码......而是编写多个简单的测试。您可以控制测试中的内容。因此,当您想要接收 2、3、5 个参数的测试,并且需要为每种情况返回 2、3、5 个元素时:然后编写 3 个不同的测试。

关于java - Mockito:如何动态设置 thenReturn() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55560160/

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