JUnit 5 集成 Allure 测试报告

2022-04-07 16:07:54 浏览数 (1)

前面的文章我们介绍过 JUnit 5 单元测试框架:

【干货】JUnit5快速指南

利用这个单元测试框架完成单元测试来帮助提高代码质量,但是对于测试结果而言 JUnit 5 提供的测试报告不够美观,所以我们可以使用专门的测试报告框架 Allure 来生成“高大上”的报告展示。

依赖包导入

在 pom.xml 中添加集成 allure与junit5 的依赖包:

代码语言:javascript复制
<dependency>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-junit5</artifactId>
    <version>2.13.2</version>
</dependency>

配置 Maven 相关属性:

代码语言:javascript复制
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
    <junit.api.version>5.6.2</junit.api.version>
    <junit.jupiter.version>5.6.2</junit.jupiter.version>
    <junit.platform.version>1.3.1</junit.platform.version>
    <aspectj.version>1.9.5</aspectj.version>
    <allure.version>2.13.2</allure.version>
</properties>

配置相关插件信息:

代码语言:javascript复制
<!--junit allure maven运行测试用例jar包-->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.22.2</version>
    <configuration>
        <argLine>
            -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
        </argLine>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
    </dependencies>
</plugin>
<plugin>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-maven</artifactId>
    <version>2.10.0</version>
    <configuration>
        <reportVersion>${allure.version}</reportVersion>
        <allureDownloadUrl>https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/${allure.version}/allure-commandline-${allure.version}.zip</allureDownloadUrl>
    </configuration>
</plugin>

可从github下载对应的示例程序,查看对应的报告判定配置是否正确。

下载地址:https://github.com/allure-examples/allure-junit-example

在项目路径下执行测试,并生成测试对应的测试报告:

代码语言:javascript复制
# 执行测试
maven clean test

# 在项目路径下命令,生成测试报告
allure serve

自动打开数据报告:

下面将介绍针对 Spring Boot 项目的单元测试生成对应的测试报告。

资源配置

添加对应的配置文件allure.properties:

代码语言:javascript复制
allure.results.directory=target/allure-results

编写测试脚本

示例测试代码:

代码语言:javascript复制
import io.qameta.allure.*;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;

@Tag("branch-20")
@DisplayName("创建部门")
@Link("https://www.baidu.com")
@Issue("001")
@Severity(SeverityLevel.BLOCKER)
public class Junit5AllureTest {
    @Test
    @Description("测试用例说明")
    public void StepTest1(){
        step1();
        step2();
    }

    @Step("这是创建部门第一步")
    public void step1(){
        System.out.println("步骤1");
    }

    @Step("这是创建部门第二步")
    public void step2(){
        System.out.println("步骤2");
    }
}

生成测试报告

执行命令:

代码语言:javascript复制
maven test
allure generate target/allure-results -o target/allure-report --clean
allure open -h 127.0.0.1 -p 8083 target/allure-report

0 人点赞