前置:Junit提供了多种报告生成方式,比较常用的两种现成的方式如下:
直接利用maven-surefire-plugin插件: 要求严格的代码规范,通过配置、规则,运行mvn test进行单元测试,示例如下:
maven-surefire-plugintrue**/Test*.java**/**/Test*.java
使用ant相关插件:maven-antrun-extended-plugin,实例如下:
org.jvnet.maven-antrun-extended-pluginmaven-antrun-extended-plugintest-reportstestrunorg.apache.antant-junit1.8.0org.apache.antant-trax1.8.0
上述两种方式报告格式比较单一且相关数据信息展示较少;
本文方案:
在明确了测试模板中要收集的测试结果数据后,通过自定义Runner及Listener的方式来实现测试方法结果监听,并写入自定义测试报告模板中。具体过程如下:
自定义ReportRunner.java:继承BlockJUnit4ClassRunner重写run方法,run方法接受RunNotifier作为入参,并添加自定义监听器JunitExecutionListener;示例如下:
public void run (RunNotifier notifier){notifier.addListener(new JUnitExecutionListener()); EachTestNotifier testNotifier = new EachTestNotifier(notifier, getDescription()); try { not