我需要验证super.method(1)
方法调用。这是我的代码:
public class X extends Y {
@Override
void method(String s) {
super.method(1);
}
@Override
void method(int i) {
super.method("str");
}
}
public class Y {
void method(String s) {
// do some action
}
void method(int i) {
// do some action
}
}
错误的工作测试
public class XTest {
@Test
public void should_also_invoke_parent_method_with_proper_param() {
// Given
X spy = Mockito.spy(new X());
// When
spy.method("str");
// Than
Mockito.verify((Y) spy).method(1);
}
}
如何验证super.method(1)
调用?
答案 0 :(得分:0)
看起来你可以使用Mockito。这篇文章对你有用。
答案 1 :(得分:0)
你可以重新考虑代码以从其他方法调用super方法
public class X extends Y {
@Override
void method(String s) {
callsuperMethod();
}
void callsuperMethod(){
super.method(1);
}
@Override
void method(int i) {
super.method("str");
}
}
现在你可以验证
Mockito.verify(spy).callsuperMethod();