powermock 调用私有方法案例
时间: 2023-12-07 11:05:41 浏览: 124
使用 PowerMockito 可以轻松地调用私有方法。以下是一个示例:
假设我们有一个类 `MyClass`,其中有一个私有方法 `privateMethod()`,我们想要测试该方法:
```java
public class MyClass {
private void privateMethod() {
// do something
}
}
```
我们可以使用 PowerMockito 来测试该私有方法:
```java
import static org.powermock.api.mockito.PowerMockito.spy;
import static org.powermock.api.mockito.PowerMockito.verifyPrivate;
public class MyClassTest {
@Test
public void testPrivateMethod() throws Exception {
MyClass myClass = spy(new MyClass());
// 调用私有方法
myClass.privateMethod();
// 验证私有方法被调用
verifyPrivate(myClass).invoke("privateMethod");
}
}
```
在这个示例中,我们首先使用 `spy()` 方法来创建一个 `MyClass` 的实例。然后,我们调用 `privateMethod()` 方法。最后,我们使用 `verifyPrivate()` 方法来验证私有方法被调用。
需要注意的是,我们需要在测试类上添加以下注解:
```java
@RunWith(PowerMockRunner.class)
@PrepareForTest(MyClass.class)
```
这些注解告诉 PowerMockito 我们要使用 PowerMockito 来测试 `MyClass` 类,并且需要准备 `MyClass` 类以便在测试中使用。
阅读全文