我的模拟参考之一在主要阶级中变为无效
对于参考客户端模拟可以准备并在测试方法中使用,但是当涉及MyMethod时,
class MainClass {
public void myMethod() {
HttpConnector httpConnector = getHttpConnector(arg);
CLoseableHttpClient client = httpConnector.getDefaults(input); // client returning null
}
private HttpConnector getHttpConnector(String arg) {
return new HttpConnector(arg)
}
}
进行null testClass,请为此提供帮助?
@RunWith(PowerMockRunner.class)
class MainClassTest {
@InjectMocks
@Spy
MainClass mainclass;
public void myMethodTest() {
HttpConnector httpConnector = Mockito.mock(HttpConnector.class);
CLoseableHttpClient client = Mockito.mock(CLoseableHttpClient.class);
Mockito.when(httpConnector.getDefaults(input)).thenReturn(client); // client returning with mock value
mainclass.myMethod();
}
}
如果我错过了任何代码中的任何错误或任何错误,请对此
For a reference client mock is prepared and available in test method but when it comes to myMethod the client value becoming null
class MainClass {
public void myMethod() {
HttpConnector httpConnector = getHttpConnector(arg);
CLoseableHttpClient client = httpConnector.getDefaults(input); // client returning null
}
private HttpConnector getHttpConnector(String arg) {
return new HttpConnector(arg)
}
}
TestClass
@RunWith(PowerMockRunner.class)
class MainClassTest {
@InjectMocks
@Spy
MainClass mainclass;
public void myMethodTest() {
HttpConnector httpConnector = Mockito.mock(HttpConnector.class);
CLoseableHttpClient client = Mockito.mock(CLoseableHttpClient.class);
Mockito.when(httpConnector.getDefaults(input)).thenReturn(client); // client returning with mock value
mainclass.myMethod();
}
}
please help on this if I miss anything or any mistakes in my code?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以将私有方法
gethtpconnector
存根,以返回模拟的httpConnector
尝试此
操作,我建议使用最新版本的摩索哥,这是PowerMock的替代方法。
You can stub the private method
getHttpConnector
to return a mockedhttpConnector
try this
Furthermore, I suggest using the newest version Mockito, which is an alternative of Powermock.