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);
添加回答
举报