接上篇:https://developer.aliyun.com/article/1228061?spm=a2c6h.13148508.setting.20.4a864f0e4FO91p
九、 主要注解
PowerMock为了更好地支持SpringMVC/SpringBoot项目,提供了一系列的注解,大大地简化了测试代码。
1. @RunWith注解
• @RunWith(PowerMockRunner.class)
• 指定JUnit使用PowerMock 框架中的单元测试运行器。
2. @PrepareForTest注解
• @PrepareForTest({ TargetClass.class })
• 当需要模拟final类、final方法或静态方法时,需要添加@PrepareForTest注解,并指定方法所在的类。如果需要指定多个类,在{}中添加多个类并用逗号隔开即可。
3. @Mock注解
• @Mock注解创建了一个全部Mock的实例,所有属性和方法全被置空(0或者null)。
4. @Spy注解
• @Spy注解创建了一个没有Mock的实例,所有成员方法都会按照原方法的逻辑执行,直到被Mock返回某个具体的值为止。
注意:
@Spy注解的变量需要被初始化,否则执行时会抛出异常。
5. @InjectMocks注解
@InjectMocks注解创建一个实例,这个实例可以调用真实代码的方法,其余用@Mock或@Spy注解创建的实例将被注入到用该实例中。
6. @Captor注解
@Captor注解在字段级别创建参数捕获器。但是,在测试方法启动前,必须调用“MockitoAnnotations.openMocks(this)”进行初始化。
7. @PowerMockIgnore注解
为了解决使用PowerMock后,提示ClassLoader错误。
接下篇:https://developer.aliyun.com/article/1228057?groupCode=java