首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Mockito When...thenReturn在集合时未返回期望值

Mockito是一个用于Java开发的开源测试框架,它可以帮助开发人员进行单元测试和集成测试。Mockito提供了一组简单而强大的API,用于创建和操作模拟对象(Mocks),以模拟依赖项并验证代码的行为。

在使用Mockito进行测试时,我们可以使用when...thenReturn语法来定义模拟对象的行为。通过这种方式,我们可以指定当某个方法被调用时,模拟对象应该返回什么值。

然而,当在集合上使用when...thenReturn时,可能会遇到未返回期望值的情况。这通常是因为在模拟对象的集合上调用方法时,Mockito默认会返回集合中元素的默认值,而不是我们预期的值。

为了解决这个问题,我们可以使用thenReturn方法的变体thenReturnElements。这个方法接受一个可变参数,用于指定模拟对象在调用方法时应该返回的值。通过使用thenReturnElements,我们可以确保模拟对象在集合上调用方法时返回我们预期的值。

下面是一个示例代码,演示了如何在集合上使用thenReturnElements

代码语言:txt
复制
List<String> mockList = Mockito.mock(List.class);
Mockito.when(mockList.get(Mockito.anyInt())).thenReturnElements("value1", "value2", "value3");

System.out.println(mockList.get(0));  // 输出:value1
System.out.println(mockList.get(1));  // 输出:value2
System.out.println(mockList.get(2));  // 输出:value3

在这个示例中,我们创建了一个模拟的List对象mockList,并使用when...thenReturnElements指定了在调用get方法时应该返回的值。然后,我们分别调用get方法,并打印返回的值。

需要注意的是,thenReturnElements方法是从Mockito 3.4版本开始引入的,因此确保你的Mockito版本符合要求。

对于腾讯云相关产品和产品介绍链接地址,由于题目要求不能提及具体的云计算品牌商,我无法给出相关链接。但你可以通过访问腾讯云的官方网站,查找与云计算相关的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券