为什么mockito要调用 stub 方法。
为什么它在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 {
}
最佳答案
我尝试通过以下测试重播您的问题:
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;
}
}
所有测试均已成功执行。您能展示如何调用测试吗?
关于java - 为什么mockito在 stub 时调用父方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36447074/