Junit5-测试报告

Junit5-测试报告:

  • junit5使用allure生成测试报告

Allure:

  1. 安装 allure并配置环境变量
    下载地址:https://repo1.maven.org/maven2/io/qameta/allure/allure-commandline/
    下载后解压,将bin目录添加至path环境变量
    打开cmd,输入 allure --version能得到安装的版本,就是安装成功
  2. 搭配maven使用
    allure用来生成测试报告,需要搭配maven,如下pom.xml
<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M5</version>
                <configuration>
                    <includes>
                        <include>**/*Test.java</include>
                    </includes>
                </configuration>
            </plugin>
        </plugins>
    </build>

用例需要使用mvn命令来执行,测试结果将会保存在 target/surefire-reports下
然后需要使用allure命令来生成在线的测试报告:allure serve

  1. 使用allure来保存测试结果
    需要在pom.xml配置
<dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-junit5</artifactId>
            <version>2.13.6</version>
            <scope>test</scope>
        </dependency>

allure 常用命令:

allure --help 帮助
allure --version 查看版本信息  
allure serve  生成在线版本的测试
allure generate <allure-result中间文件>  -o   输出目录 (默认路径:allure-report)

使用java+maven+allure 生成测试报告,需要使用mvn命令执行测试用例:

执行所有符合条件的测试用例:mvn test
执行某个class文件:mvn test -Dtest=xxxx

配置完xml文件后,使用mvn命令运行程序,保存测试结果至./allure-results/ 文件下,但是使用该文件用来生成测试报告的话,需要注意一个问题,如果要执行新的用例,需要手动删除该文件,否则数据是旧的:

生成测试报告方式一:生成本地报告
	使用命令 allure generate -c -o ./allure-report 
	-c 在生成报告前清空报告内容 默认不清空
	-o 生成报告的目录为  allure-report,默认 allure-report ‘
生成测试报告方式二:在线报告
	allure serve ./allure-report 
	
	以上都会生成一个./allure-report 文件,要使用 allure open /allure-report 来打开测试报告
  1. 合并测试报告
    在日常测试种,大家是执行自己的用例,最终需要汇总大家的结果生成一个总的测试用例
    合并测试用例:
方法一:使用 allure generate -c -o ./allure-report1 ./allure-report12 ...的命令
方法二:allure serve ./allure-report1  ./allure-report2
./allure-report1  ./allure-report2 是测试报告路径

发现使用命令生成报告报错
使用allure serve ./allure-report 无法生成在线报告,使用: allure serve target/surefire-reports
可以试试下面:
增加文件 allure.properties文件,内容为:

allure.results.directory=target/allure-results

在项目的pom.xml和src的同级目录 中,创建文件夹:.allure
将下载的allure 放入该文件夹中
在这里插入图片描述
或者在pom.xml中配置:(这个容易下载不下来)

 <plugin>
     <groupId>io.qameta.allure</groupId>
     <artifactId>allure-maven</artifactId>
     <version>2.10.0</version>
     <configuration>
     	<reportVersion>2.17.2</reportVersion>
     	<allureDownloadUrl>${allure.cmd.download.url}/2.18.1/allure-commandline-2.18.1.zip</allureDownloadUrl>
      </configuration>
  </plugin>

总的pom.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         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">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.zqh</groupId>
    <artifactId>Junit5_test</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
        <!-- 对应junit Jupiter的版本号;放在这里就不需要在每个依赖里面写版本号,导致对应版本号会冲突-->
        <junit.jupiter.version>5.8.2</junit.jupiter.version>
        <!-- plugins -->
        <maven.compiler.version>3.8.1</maven.compiler.version>
        <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
        <poi.version>5.2.2</poi.version>
        <!-- 断言-->
        <hamcrest.version>2.2</hamcrest.version>
        <slf4j.version>2.0.0-alpha7</slf4j.version>
        <logback.version>1.3.0-alpha16</logback.version>
        <jackson.version>2.13.1</jackson.version>
        <allure.cmd.download.url>
            https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline
        </allure.cmd.download.url>
    </properties>
    <!--    物料清单 (BOM)-->
    <dependencyManagement>
        <dependencies>
            <!--当使用 Gradle 或 Maven 引用多个 JUnit 工件时,此物料清单 POM 可用于简化依赖项管理。不再需要在添加依赖时设置版本-->
            <dependency>
                <groupId>org.junit</groupId>
                <artifactId>junit-bom</artifactId>
                <version>${junit.jupiter.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>


    <dependencies>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <!--            对应添加的依赖的作用范围-->
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-suite</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.junit.vintage</groupId>
            <artifactId>junit-vintage-engine</artifactId>
        </dependency>

        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest</artifactId>
            <version>${hamcrest.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>${logback.version}</version>
        </dependency>
        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-junit5</artifactId>
            <version>2.13.6</version>
        </dependency>

        <!--        yaml文件解析-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>${jackson.version}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-yaml</artifactId>
            <version>${jackson.version}</version>
        </dependency>
    </dependencies>


    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven-surefire-plugin.version}</version>
                <configuration>
                        <includes>
                            <include>**/*Test.class</include>
                        </includes>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.junit.jupiter</groupId>
                        <artifactId>junit-jupiter-engine</artifactId>
                        <version>${junit.jupiter.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                        <version>${junit.jupiter.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven.compiler.version}</version>
                <configuration>

                    <!-- 设置jre版本为 11 -->
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                    <!-- 设置编码为 UTF-8 -->
                    <encoding>${maven.compiler.encoding}</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>io.qameta.allure</groupId>
                <artifactId>allure-maven</artifactId>
                <version>2.10.0</version>
                <configuration>
                    <reportVersion>2.18.1</reportVersion>
                    <allureDownloadUrl>${allure.cmd.download.url}/2.18.1/allure-commandline-2.18.1.zip</allureDownloadUrl>
                </configuration>
            </plugin>

        </plugins>
    </build>

</project>

使用命令:生成在线报告

mvn allure:serve 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值