gpt4 book ai didi

java - 我在模拟中遇到 NullPointerException,我不知道该怎么办

转载 作者:行者123 更新时间:2023-11-30 02:50:18 27 4
gpt4 key购买 nike

我正在对此方法进行模拟:

public String buscarDescripcion(MaestroDTO departamento, String codigoMunicipio){
String descripcion = null;
List<MaestroDTO> listaMunicipios = getListaMucipios(departamento);
if(listaMunicipios != null) {
for (MaestroDTO maestroDTO : listaMunicipios) {
if(maestroDTO.getCodigo().equals(codigoMunicipio)){
descripcion = maestroDTO.getNombre();
break;
}
}
}
return descripcion;
}

在测试类中。这将返回一个包含城市名称的列表。但是当我运行测试时,出现 NullPointerException 错误。我在测试类中使用的模拟是这样的:

listaCiudad = mock(ListaCiudad.class);

when(listaCiudad.buscarDescripcion(any(MaestroDTO.class), any(BigDecimal.class).toString())).thenReturn("MEDELLIN");

buscarDescription 方法有两个参数:MaestroDTO 和一个 String。当我使用字符串运行测试时,这显示了一个强制转换错误。当我使用 BigDecimal.toString() 时,这会显示一个空指针异常。我不知道我是否以错误的方式调用了这个参数,因为我对模拟不太了解!我感谢您的帮助!谢谢你! (抱歉我的英语)。

最佳答案

您没有正确地 stub 您的模拟。您应该将 any(BigDecimal.class).toString() 替换为 Mockito anyString()

Mockito.when(listaCiudad.buscarDescripcion(Mockito.any(MaestroDTO.class), Mockito.anyString())).thenReturn("MEDELLIN");

关于java - 我在模拟中遇到 NullPointerException,我不知道该怎么办,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38896894/

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