我尝试了许多网站上提供的所有建议,但在我的情况下似乎没有任何效果。
测试班
@Autowired
Service service;
@Test
public void Test() throws Exception {
Service service1 = Mockito.spy(service);
JSONObject obj = new JSONObject();
Mockito.doReturn(obj).when(service1).getFunc(any(JSONObject.class));
String str = service1.sendFunc(obj);
assertNotEquals(null, str);
}
服务类
public class Service {
public String sendFunc(JSONObject arg) {
String str = getFunc(arg);
}
public String getFunc(JSONObject arg) {
return "Pass";
}
}
调试后,我意识到,即使在嘲笑它。原始方法 getFunc()
有人打电话来,但似乎没什么问题。请帮我弄清楚?
2条答案
按热度按时间5anewei61#
这一行是错误的:
pb3s4cty2#
如果你在写
@SpringBootTest
(因此,如果您正在加载应用程序上下文),那么您应该使用@SpyBean
注解如下:如果不想单独加载上下文和测试类,可以使用
@Spy
注解或Mockito.spy()
: