作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在对此方法进行模拟:
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/
我是一名优秀的程序员,十分优秀!