Mockito doReturn 使列表不可变
Mockito doReturn making list immutable
我正在尝试测试这样的方法:
public getIndustries(int countryId) {
var industryList = industryControllerService.getIndustriesByCountryId(countryId);
...
industryList.add(new IndustryCategory(otherIndustry));
}
在我的测试中我有:
List<IndustryCategory> expected = List.of(industryCategory1, industryCategory2);
doReturn(expected).when(industryControllerService).getIndustriesByCountryId(anyInt());
...
但出于某种原因,Mockito 将 industryList 作为不可变集合返回,因此添加操作会抛出 UnsupportedOperationException。
我怎样才能改变它,使列表成为一个可以编辑的普通列表?
List.of
returns 一个不可变列表。尝试将其复制到 ArrayList 中:expected = new ArrayList<>(List.of(...))
.
我正在尝试测试这样的方法:
public getIndustries(int countryId) {
var industryList = industryControllerService.getIndustriesByCountryId(countryId);
...
industryList.add(new IndustryCategory(otherIndustry));
}
在我的测试中我有:
List<IndustryCategory> expected = List.of(industryCategory1, industryCategory2);
doReturn(expected).when(industryControllerService).getIndustriesByCountryId(anyInt());
...
但出于某种原因,Mockito 将 industryList 作为不可变集合返回,因此添加操作会抛出 UnsupportedOperationException。
我怎样才能改变它,使列表成为一个可以编辑的普通列表?
List.of
returns 一个不可变列表。尝试将其复制到 ArrayList 中:expected = new ArrayList<>(List.of(...))
.