如何验证调用了非模拟方法?
How to verify a non-mocked method was called?
我想测试我的方法是否调用了我无法模拟的 相同 class 中的另一个方法。
示例:
public void methodToTest(){
//other stuff to test that can be mocked
someClassICanMock.doSomething();
//method within same class that cannot be mocked
methodFromSameClassIWantToVerify();
}
如何使用 verify
检查我的测试方法是否调用 methodFromSameClassIWantToVerify();?
编辑:不是重复的,因为我特别提到了如何使用 mockito 进行测试。
像这样,
MyClass c = new MyClass();
someClassICanMock m = mock(someClassICanMock.class);
doNothing().when(m).doSomething();
MyClass s = spy(c);
s.methodToTest();
verify(s , times(1)).methodFromSameClassIWantToVerify();
我想测试我的方法是否调用了我无法模拟的 相同 class 中的另一个方法。
示例:
public void methodToTest(){
//other stuff to test that can be mocked
someClassICanMock.doSomething();
//method within same class that cannot be mocked
methodFromSameClassIWantToVerify();
}
如何使用 verify
检查我的测试方法是否调用 methodFromSameClassIWantToVerify();?
编辑:不是重复的,因为我特别提到了如何使用 mockito 进行测试。
像这样,
MyClass c = new MyClass();
someClassICanMock m = mock(someClassICanMock.class);
doNothing().when(m).doSomething();
MyClass s = spy(c);
s.methodToTest();
verify(s , times(1)).methodFromSameClassIWantToVerify();