用mock实现下面静态方法的测试 public static int add(int a, int b) { return a + b; }
时间: 2024-01-18 18:02:55 浏览: 61
可以使用Mockito框架来实现该静态方法的测试。
首先,需要使用PowerMockito工具类来Mock静态方法。具体代码如下:
```
@RunWith(PowerMockRunner.class)
@PrepareForTest({ YourClass.class })
public class YourClassTest {
@Test
public void testAdd() {
PowerMockito.mockStatic(YourClass.class);
Mockito.when(YourClass.add(Mockito.anyInt(), Mockito.anyInt())).thenReturn(5);
int result = YourClass.add(2, 3);
Assert.assertEquals(result, 5);
}
}
```
在该测试方法中,我们首先通过`@RunWith(PowerMockRunner.class)`注解来使用PowerMockRunner运行器来运行测试类。然后,使用`@PrepareForTest({ YourClass.class })`注解来告诉PowerMockito需要Mock的类是`YourClass`。接着,在测试方法中,通过`PowerMockito.mockStatic(YourClass.class)`来Mock静态方法`add`。最后,使用`Mockito.when(YourClass.add(Mockito.anyInt(), Mockito.anyInt())).thenReturn(5)`来指定Mock的方法的返回值。最后,我们调用`YourClass.add(2, 3)`方法并断言其返回值是否为5即可。
需要注意的是,使用PowerMockito的时候需要在pom.xml中加入以下依赖:
```
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>2.0.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito2</artifactId>
<version>2.0.9</version>
<scope>test</scope>
</dependency>
```
阅读全文