gpt4 book ai didi

java - Mockito 模拟列表时出现问题

转载 作者:行者123 更新时间:2023-12-01 17:29:50 24 4
gpt4 key购买 nike

我想模拟一个列表

private Item populateData(Item i) {
List<Person> groupIdList = xyzDao.getData(id);
for (Person p: groupIdList) {

}
}

我想通过模拟 groupIdList 来测试该功能,如何执行此操作?

最佳答案

Mockito 官方文档有点误导。您不应该模拟列表(没有太多逻辑的数据容器),您应该模拟行为。在您的情况下, xyzDao.getData(id) 是行为。模拟 xyzDao 并返回一些虚假数据:

//given
XyzDao xyzDaoMock = mock(xyzDao);
//inject to XyzService class under test
given(xyzDaoMock.getData(id)).willReturn(Arrays.asList(...));

//when
xyzService.populateData() //...XyzService uses mocked XyzDao

//then

then部分中,您应该verify()调用了xyzDao或确保返回了正确的列表。很难根据您的代码片段判断您需要什么。

关于java - Mockito 模拟列表时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12202366/

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