java模拟递归类
使用Spring 2.0.3。发布版,JUnit Jupiter 5.7.0,Mockito 3.3.3
尝试测试Class01的方法method01:
public class Class01 {
private RestConnector con;
public Class01(){
con = RestConnector.getInstance();
}
public Response method01(String x) {
Class01 example = new Class01();
String x = example.isAuthenticated();
// more stuff after this
}
public String isAuthenticated() throws IOException {
// I do stuff
return "a string";
}
}
在测试课上,我试过
public class Class01Test{
@Mock private Class01 class01Mock;
@Spy @InjectMocks private Class01 class01;
@Test
public void test() throws Throwable {
doReturn("I returned").when(class01). ??? stuck here .. always goes into the isAuthenticated method
Response result = class01.method01("a string");
}
}
目前测试总是在运行,真正的方法是经过验证的。 如何为method01中的字段示例设置一个模拟,以使进入方法的执行跳过得到验证
# 1 楼答案
那你就不需要嘲笑了
如果要将行为注入
example
变量,需要将其移动到字段中还有一个模拟的
然而,,不清楚当你看起来只需要
this.isAuthenticated()
时,为什么你需要同一类的嵌套对象理想情况下,您还可以模拟
RestConnector