2 回答

TA貢獻1877條經驗 獲得超6個贊
好吧,如果您的代碼(要測試的代碼,您打算這樣做)做了某些事情,Mockito 無法更改某些內容,但是您可以模擬它,以便它不會創建新對象(而是創建您的“模擬對象”),這樣您可以根據預期行為驗證某些內容。
在您的代碼中,如果您更改幾行,您就可以實現您想要的,例如 - 創建一個 DocuSignService 類,然后在其中創建這個新對象 - getDocuSign 方法。然后你的代碼如下所示 -
@Autowired
private DocuSignService docuSignService ;
this.docuSign = new DocuSign(docuSignProperties); // This is what you have
this.docuSign = this.docuSignService.getDocuSign() ; // This is new code
現在在你的測試用例中 -
@Mock
DocuSignService docuSignService ;
@Mock
private DocuSign docuSign;
//.
//.
Mockito.when(this.docuSignService.getDocuSign()).thenReturn(docuSign);
現在你可以控制這個對象了。

TA貢獻1772條經驗 獲得超5個贊
I resolved it using powerMockito.
DocuSign docuSign = PowerMockito.mock(DocuSign.class);
PowerMockito.whenNew(DocuSign.class).withAnyArguments().thenReturn(docuSign);
添加回答
舉報