java fit reportng_reportNG打包

前言

工作中会对java的类进行接口测试,选用的testNG测试框架,但是testNG自带的测试报告实在是不美观,且功能较差,便选用reportNG来生成测试报告。不过reportNG并不支持中文,且生成的报告页面也需再优化一点,但是reportNG目前已不再更新,最后的版本为1.1.4版本,所以很多人选择修改reportNG代码,定制reportNG。自己在网上也搜了不少资料去修改reportNG源代码,但最后卡在生成的jar包无法用,然后花了上午一小会时间研究了下,搞定打包。看到网上很多人在其他人的文章下留言问怎么打包reportNG,所以这里就分享下。

定制reportNG

下载源码

首先去github下载reportNG的源码到本地。

https://github.com/dwdyer/reportng

解压后,源码文件目录如下:

reportng-master/

├── CHANGELOG.txt

├── LICENSE.txt

├── NOTICE.txt

├── README.txt

├── build.xml

├── etc

│ ├── intellij

│ ├── sample-testng.xml

│ ├── sample2-testng.xml

│ └── testng.xml

├── lib

│ └── compiletime

└── reportng

├── lib

├── pom.xml

├── reportng.iml

└── src

7 directories, 10 files

我们要修改的,仅仅是pom.xml所在的reportng目录下的maven工程。

修改maven工程目录

源码中的maven工程目录如下:

reportng/

├── lib

│ └── runtime

│ └── velocity-dep-1.4.jar

├── pom.xml

├── reportng.iml

└── src

├── css

│ └── hudsonesque.css

└── java

├── main

├── resources

└── test

8 directories, 4 files

可见,main目录处于/src/java目录下。而maven打包是编译和打包main目录下的java类文件,要求的目录格式为/src/main/java,所以改变源码的目录格式为如下格式:

reportng/

├── lib

│ └── runtime

│ └── velocity-dep-1.4.jar

├── pom.xml

├── reportng.iml

└── src

├── main

│ ├── css

│ ├── java

│ └── resources

└── test

└── org

9 directories, 3 files

解决中文乱码

修改AbstractReporter类中的generateFile方法如下:

ed17c2e0ee71

解决中文乱码

其他可定制修改处,可自行网上搜资料,这里不再写。

打包jar包

修改pom文件:

设置版本号,这里设置为1.1.5:

4.0.0

ReportNG

org.uncommons

reportng

1.1.5

jar

https://reportng.dev.java.net/

因为原文件中的testng版本号太低了,编译打包会失败,所以修改为较高的版本,这里设置为6.10版本:

org.testng

testng

6.10

mvn package生成jar包

ed17c2e0ee71

IDEA中maven package

生成jar包入如下:

lilinfeng@lilinfengdeMacBook-Air:~/llf_code/llf_java/reportng-master/reportng/target$ ll

total 72

drwxr-xr-x 3 lilinfeng staff 102 1 23 23:50 classes

drwxr-xr-x 3 lilinfeng staff 102 1 23 23:50 maven-archiver

drwxr-xr-x 3 lilinfeng staff 102 1 23 23:50 maven-status

-rw-r--r-- 1 lilinfeng staff 35906 1 23 23:50 reportng-1.1.5.jar

引用生成的reportNG jar包

新建maven工程

工程lib目录下放置上一步生成的jar包:

IvanliTest/

├── IvanliTest.iml

├── lib

│ └── reportng-1.1.5.jar

├── pom.xml

├── src

│ ├── main

│ └── test

└── target

├── classes

├── generated-test-sources

├── maven-status

├── surefire-reports

└── test-classes

10 directories, 3 files

pom文件配置如下:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

Hello

IvanliTest

1.0-SNAPSHOT

org.testng

testng

6.10

test

org.uncommons

reportng

1.1.5

system

${project.basedir}/lib/reportng-1.1.5.jar

velocity

velocity

1.4

com.google.inject

guice

4.0

org.apache.maven.plugins

maven-surefire-plugin

2.18.1

usedefaultlisteners

false

listener

org.uncommons.reportng.HTMLReporter,

org.uncommons.reportng.JUnitXMLReporter

target/

never

maven-compiler-plugin

3.1

utf-8

true

1.8

1.8

测试代码如下:

import org.testng.Assert;

import org.testng.Reporter;

import org.testng.annotations.Test;

public class testOne {

@Test

public void testCase1(){

String exp = "1";

String act = "1";

Reporter.log("expect: " + exp + ", actual: " + act);

Assert.assertEquals(exp, act);

}

@Test

public void testCase2(){

String exp = "1";

String act = "2";

Reporter.log("expect: " + exp + ", actual: " + act);

Assert.assertEquals(exp, act);

}

}

执行测试

mvn -Dtest=testOne test

生成报告如下:

ed17c2e0ee71

overview

ed17c2e0ee71

output

可见,报告已支持中文,即我们生成的reportNG jar包是可用的。

希望本篇生成jar包的说明可以帮助一些想定制reportNG的同学们。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值