为什么mockito会调用stubbed方法。
为什么它会在when..thenReturn下实际调用 func 我在做调试时已经检查过了。
@Test
public void function(){
MyClassChild obj = mock(MyClassChild.class);
when(obj.func("abc")).thenReturn(3);
}
...
class MyClass {
public int func(String s) {
if (s.equals("abc"))
return 3;
else
return 1;
}
}
class MyClassChild extends MyCLass {
}
答案 0 :(得分:1)
我尝试通过以下测试重播您的问题:
public class StackTest {
@Test
public void mockedFunction() {
MyClass obj = mock(MyClass.class);
when(obj.func("abc")).thenReturn(3);
assertEquals(3, obj.func("abc"));
}
@Test
public void function() {
MyClass obj = new MyClass();
assertEquals(7, obj.func("abc"));
}
}
和
public class MyClass {
public int func(String s) {
if (s.equals("abc"))
return 7;
else
return 9;
}
}
所有成功执行的测试。你能说明你是如何调用测试的吗?