基于Junit5+PowerMock的单元测试框架

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Junit5+PowerMock的单元测试框架相关的知识,希望对你有一定的参考价值。

参考技术A 前置

基于上面的场景,本文描述基于Junit+PowerMock+Mockito进行单元测试的方案中可能存在的小部分问题,PowerMock作为弥补Mockito无法mock类中静态、私有、final变量、方法及构造函数等不足的一扩展工具,在使用时还是可能会存在比较多坑:

PowerMock与Mockito的版本需要对应起来(具体见官网),否则可能出现:org.mockito.internal.handler.MockHandlerFactory.createMockHandler错误

缺点

junit本身不支持并行测试;工程中主要就Junit的如下4种场景的并行测试的实现进行描述:

单测试类的所有方法并行测试:

单测试类的单个方法并行测试:

多测试类的所有方法并行测试:

所有测试类一次执行

框架描述

主要是针对Junit框架、PowerMock框架以及部分其他三方工具进行整合创建的工具工程;囊括 通用基本数据类型check、shell命令执行、性能监控、测试结果统计、报告生成、邮件通知 等功能

工程目录结构如下:

备注:由于TestNG框架原生就支持并行、负载测试,所以在并发场景直接使用TestNG+Jmeter的框架

Junit5对应的pom依赖

针对支持并行测试的场景、监听终端日志捕获异常场景,需要添加如下pom:

其中net.sourceforge.groboutils下的groboutils-core-5.jar需要手动添加到Global Libraries目录下

Junit5相关注解说明,官网实例,参见 链接

以上是关于基于Junit5+PowerMock的单元测试框架的主要内容,如果未能解决你的问题,请参考以下文章

Android 单元测试实战—— 基于Powermock的常用方法指南

Android 单元测试实战—— 基于Powermock的常用方法指南

关于单元测试,其实你也可以这样来写

SpringBoot框架下基于Junit的单元测试

Spock单元测试框架实战指南七 - 动态Mock

Springboot2_单元测试