簡體   English   中英

NullpointerException mocking 測試

[英]NullpointerException mocking the test

我有一個問題 mocking 測試,一切正常,直到我得到NullPointerException的代碼/測試點,這是啟動 null 指針的主要代碼。

ResponseSrvAddDto responseSrvAdd = kjidR048.executeAddDocuments(requestAdd);
        
String returnCode = responseSrvAdd.getReturnCode();
if (returnCode != null && "00".equals(returnCode)){
ERROR! java.lang.NullPointerException

我在測試中有這個

ResponseSrvAddDto responseSrvAdd = mock(ResponseSrvAddDto.class);

Mockito.when(kjidR048.executeAddDocuments(requestAdd)).thenReturn(responseSrvAdd); (this goes correct)
String code = "00";
Mockito.when(responseSrvAdd.getReturnCode()).thenReturn(code); 

(但這看起來像忽略了模擬)

我不知道為什么在responseSrvAdd.getReturnCode()中有模擬會啟動一個 null 指針,但我已經對此進行了模擬。

當您在服務上使用模擬時,它會創建一個 object 什么都不做或在所有方法上返回 null。 如果你想測試responseSrvAdd.getReturnCode()使用 spy https://www.baeldung.com/mockito-spy這里是指南。

對於需要創建 object 的實體,它將如下所示:

ResponseSrvAddDto responseSrvAdd = new ResponseSrvAddDto(); responseSrvAdd.setReturnCode("00"); Mockito.when(kjidR048.executeAddDocuments(requestAdd)).thenReturn(responseSrvAdd);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM