mockito 如何跳过父类方法
时间: 2024-01-26 15:03:04 浏览: 385
在使用 Mockito 进行单元测试时,如果需要跳过父类的某个方法,可以使用 Mockito 的 `doCallRealMethod()` 方法来实现。具体步骤如下:
1. 使用 `mock()` 方法创建一个被测试对象的 mock 对象。
2. 使用 `doCallRealMethod()` 方法来调用被测试对象中的某个方法。
3. 使用 `when()` 方法来设置被测试对象中的某个方法的参数和返回值。
4. 使用 `verify()` 方法来验证被测试对象中的某个方法是否被正确调用。
下面是一个示例代码:
```java
public class Parent {
public String hello() {
return "Hello from parent";
}
}
public class Child extends Parent {
@Override
public String hello() {
return "Hello from child";
}
}
// 单元测试代码
@Test
public void testChild() {
Child child = Mockito.mock(Child.class);
Mockito.doCallRealMethod().when(child).hello(); // 跳过父类方法
Mockito.when(child.hello()).thenReturn("Mocked hello");
Assert.assertEquals("Mocked hello", child.hello());
Mockito.verify(child, Mockito.times(1)).hello();
}
```
在上面的示例中,我们使用 `doCallRealMethod()` 方法来跳过了父类中的 `hello()` 方法,然后使用 `when()` 方法来设置被测试对象中的 `hello()` 方法的返回值,并最终使用 `verify()` 方法来验证 `hello()` 方法是否被正确调用。
阅读全文