单元测试 - Mockito - powermock - 异常测试
特别说明
当前文章内容迁移中,如有问题,请提交 issues 谢谢~~
一. 引入 maven 坐标
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-core</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
具体的版本,可去 maven 中心仓库自行查找自己想要的
二. Mock 异常
1. mock 异常的发生
Mockito.when(Mockito.anyObject())
.thenThrow(new Exception());
或者使用
Mockito.when(Mockito.anyObject())
.thenThrow(Exception.class);
2. 对异常进行断言
1). 使用 @Test
注解
在测试类上加上注解,expected
中的异常为具体的 mock
异常。
@Test(expected = Exception.class)
2). 使用 try-catch
3). 使用 @Rule
结合 JUnit
的 ExpectedException
类
- 声明全局变量,且为
public
类型
@Rule
public ExpectedException exception = ExpectedException.none();
- 在调用方法前,使用断言
exception.expect(IOException.class);