![](/img/trans.png)
[英]Mockito mock NullPointerException, don't know what else is there to try
[英]I have a NullPointerException in a mock, and I don't know what to do
我為此方法做一個模擬:
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");
buscarDescripcion方法具有兩個參數,MaestroDTO和一個String。 當我使用字符串運行測試時,這顯示出強制轉換錯誤。 當我使用BigDecimal.toString()時,這向我顯示了一個nullpointerexception。 我不知道我是否以錯誤的方式調用了該參數,因為我對模擬不是很了解! 我感謝您的幫助! 謝謝! (對不起我的英語不好)。
您沒有正確地放置模擬。 您應該使用MockitoanyString()
替換any(BigDecimal.class).toString()
MockitoanyString()
Mockito.when(listaCiudad.buscarDescripcion(Mockito.any(MaestroDTO.class), Mockito.anyString())).thenReturn("MEDELLIN");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.