allure+maven+junit

allure+maven+junit

  • 1. 环境部署
    • 1.1. 安装allure
    • 1.2. 安装maven
      • 1.2.1. 下载地址
      • 1.2.2. 安装
      • 1.2.3. 配置maven本地仓库
    • 1.3. 安装junit
  • 2. allure使用
    • 2.1. options
    • 2.2. commands
  • 3. maven使用
    • 3.1. maven主要结构
    • 3.2. pom.xml内容介绍
    • 3.3. Options
    • 3.4. 常用命令
  • 4. junit使用
    • 4.1. 常用注解
    • 4.2. 注意事项
    • 4.3. @Test的一些属性
      • 4.3.1. excepted属性
      • 4.3.2. timeout属性
    • 4.4. 代码覆盖率
  • 5. allure+maven+junit实例
    • 5.1. 使用idea创建maven项目
    • 5.2. 安装junit并测试
      • 5.2.1. pom.xml中添加junit依赖
      • 5.2.2. 编写Demo类
      • 5.2.3. 编写Demo测试类
    • 5.3. 执行maven+junit用例
      • 5.3.1. 在idea中设置执行配置
      • 5.3.2. 执行生成结果
    • 5.4. 使用allure生成报告

1. 环境部署

1.1. 安装allure

https://github.com/allure-framework/allure2/releases/tag/2.13.2

  • 下载后解压;
  • 双击执行allure-2.13.2\bin\ allure.bat;;
  • 将allure-2.13.2\bin目录路径添加到path环境变量中;
  • Dos窗口中输入“allure”验证安装。

1.2. 安装maven

1.2.1. 下载地址

https://maven.apache.org/download.cgi

1.2.2. 安装

  • 下载后解压;
  • 将maven/bin目录路径添加到path环境变量中;
  • Dos窗口执行“mvn --version”命令验证安装。

1.2.3. 配置maven本地仓库

  • 在maven安装目录下创建“repository”文件夹;
  • 打开maven\conf\settings.xml文件设置/path/to/local/repo的值为maven/repository目录路径;
  • Dos窗口执行“mvn help:system”验证配置。

1.3. 安装junit

执行maven前在pom.xml文件中配置junit对应的依赖,执行maven时会自动安装junit包到maven本地库。

2. allure使用

allure [options] [command] [command options]

2.1. options

  • –help 打印命令行帮助文档
  • -q, --quiet 开启静默模式,默认关闭
  • -v, --verbose 开启详细模式,默认关闭
  • –version 打印命令行版本信息,默认关闭

2.2. commands

  • generate [options] 生成报告
    -c, --clean 生成报告之前清楚以前的报告,默认关闭
    –config [path] 配置文件路径,将覆盖–profile 和–configDirectory的值
    –configDirectory 命令行配置目录,默认使用ALLURE_HOME
    –profile 命令行配置文件
    -o, --report-dir, --output 生成报告的目录,默认allure-report
  • serve [options] 生成并查看报告
    –config [path] 报告文件路径,将覆盖–profile 和–configDirectory的值
    –configDirectory 报告所在目录,默认使用ALLURE_HOME
    –profile 报告文件名
    -h, --host 指定打开报告的web服务器
    -p, --port 指定web服务器打开报告的端口号,默认为0
  • open [options] 打开生成的报告
    -h, --host 指定打开报告的web服务器
    -p, --port 指定web服务器打开报告的端口号,默认为0
  • plugin [options] 插入报告
    –config [path] 配置文件路径,将覆盖–profile 和–configDirectory的值
    –configDirectory 命令行配置目录,默认使用ALLURE_HOME
    –profile 命令行配置文件

3. maven使用

3.1. maven主要结构

|- src
|- main
    |- java  # 存放被测试包/类
    |- resource  # 存放被测试类的依赖包
|- test
    |- java  # 存放测试包/类
    |- resource  # 存放测试类的依赖包
|- pom.xml  # maven的配置文件

3.2. pom.xml内容介绍

需要的依赖可以到maven prository中央仓库中查找。
地址:https://mvnrepository.com/

"1.0" encoding="UTF-8"?>
"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">
4.0.0  
com.gmrobot  
MavenProject  
    1.0  
	
	  
		  
			junit
			junit
			4.13
			test
		
	

3.3. Options

mvn [options] [] []

-am,–also-make 如果指定了项目列表,则构建项目列表中的项目
-amd,–also-make-dependents 如果指定了项目列表,则构建依赖于列表中项目的项目
-B,–batch-mode 以非交互式(批处理)模式运行(进制输出颜色)
-b,–builder 要使用的构建策略的ID
-C,–strict-checksums 如果校验不匹配则构建失败
-c,–lax-checksums 如果检验不匹配则构建警告
-D,–define 定义系统属性
-e,–errors 生成执行错误消息
-emp,–encrypt-master-password 加密master安全密码
-ep,–encrypt-password 加密服务密码
-f,–file 强制使用备用pom文件(或带有pom.xml的目录)
-fae,–fail-at-end 当构建失败后,允许未受影响的构建继续
-ff,–fail-fast 构建一旦失败,则停止后续所有构建任务
-fn,–fail-never 无论结果如何,都不返回构建失败
-gs,–global-settings 全局设置文件的备用路径
-gt,–global-toolchains 全局工具链文件备用路径
-h,–help 描述帮助信息
-l,–log-file 存放所有构建输出的日志文件(禁止输出颜色)
-N,–non-recursive 不要递归到子目录
-npr,–no-plugin-registry neffective, only kept for backward compatibility
-npu,–no-plugin-updates Ineffective, only kept for backward compatibility
-nsu,–no-snapshot-updates Suppress SNAPSHOT updates
-ntp,–no-transfer-progress Do not display transfer progress when downloading or uploading
-o,–offline Work offline
-P,–activate-profiles Comma-delimited list of profiles to activate
-pl,–projects Comma-delimited list of specified reactor projects to build instead of all projects. A project can be specified by [groupId]:artifactId or by its relative path
-q,–quiet Quiet output - only show errors
-rf,–resume-from Resume reactor from specified project
-s,–settings Alternate path for the user settings file
-t,–toolchains Alternate path for the user toolchains file
-T,–threads Thread count, for instance 2.0C where C is core multiplied
-U,–update-snapshots Forces a check for missing releases and updated snapshots on remote repositories
-up,–update-plugins Ineffective, only kept for backward compatibility
-v,–version Display version information
-V,–show-version Display version information WITHOUT stopping build
-X,–debug Produce execution debug output

3.4. 常用命令

  • maven clean
    对项目进行清理,清理的过程中会删除删除target目录下编译的内容。
  • maven compil
    编译项目源代码。
  • maven test
    对项目的运行测试。
  • maven packet
    可以打包后的文件存放到项目的 target 目录下,打包好的文件通常都是编译后生成的class文件。
  • maven install
    在本地仓库生成仓库的安装包可以供其他项目引用,同时打包后的文件存放到项目的 target 目录下。

4. junit使用

要安装junit只需要将junit的依赖添加到maven的pom.xml文件中即可,maven工具会自动下并安装到本地仓库。

4.1. 常用注解

  • @Test
    将一个方法标记为测试方法;
  • @Before
    每一个测试方法调用前必执行的方法;
  • @After
    每一个测试方法调用后必执行的方法;
  • @BeforeClass
    所有测试方法调用前执行一次,在测试类没有实例化之前就已被加载,需用static修饰;
  • @AfterClass
    所有测试方法调用后执行一次,在测试类没有实例化之前就已被加载,需用static修饰;
  • @Ignore
    暂不执行该方法;

4.2. 注意事项

  • 用@test注释的方法会被认为是一个测试用例;
  • 无论测试有没有成功@AfterClass标记的方法都将被执行;
  • 设计测试用例时注意环境的准备和清理动作,保证测试环境可持续使用;

4.3. @Test的一些属性

4.3.1. excepted属性

excepted属性是用来测试异常的,即如果被测试的方法没有抛出异常,测试不通过,抛出异常,则测试通过。
我们在单元测试类中添加异常测试方法:

@Test (expected = Exception.class)
public void testDivideException() throws Exception {
    new Junit_Test_Demo().divide(3,0);
    fail("除数为零没有抛出异常...");
}

该测试方法是(expected = Exception.class)和fail(“除数为零没有抛出异常…”),会检查是否抛出Exception异常(也可以检查其他异常)。如果抛出异常测试通过,没有抛出异常测试不通过执行fail(“除数为零没有抛出异常…”)。

4.3.2. timeout属性

该方法是用来测试性能的,测试一个方法能不能在规定时间内完成。用法和expected一样。

@Test (timeout = 1000)
public void testDivideTimeout() throws Exception {
    new Junit_Test_Demo().divide(6,3);
}

4.4. 代码覆盖率

收集覆盖率,通过Run→Run ‘Junit_Test_DemoTest’ with Coverage,运行结束后,IDEA将会在Projec工具窗口显示每个程序包、类的覆盖率数据,同时在Coverage工具窗和编辑器中也会显示。

5. allure+maven+junit实例

5.1. 使用idea创建maven项目

allure+maven+junit_第1张图片
allure+maven+junit_第2张图片

5.2. 安装junit并测试

5.2.1. pom.xml中添加junit依赖

  
      
        junit
        junit
        4.13
        test
    

5.2.2. 编写Demo类

public class JunitTestDemo {
    // 加法
    public int add(int a, int b) {
        return a + b;
    }

    // 减法
    public int subtract(int a, int b) {
        return a - b;
    }

    // 乘法
    public int multiply(int a, int b) {
        return a * b;
    }

    // 除法
    public double divide(int a, int b) throws Exception {
        if (b == 0) {
            throw new Exception("除数不能为零!");
        }
        else {
            return a / b;
        }
    }
}

5.2.3. 编写Demo测试类

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.*;

public class JunitTestDemoTest {

    @Before
    public void setUp() throws Exception {
        System.out.println("单元测试开始前相关操作...");
    }

    @After
    public void tearDown() throws Exception {
        System.out.println("单元测试结束后相关操作...");
    }

    @Test
    public void add() {
        assertEquals(8, new JunitTestDemo().add(2,6));
    }

    @Test
    public void subtract() {
        assertEquals(7, new JunitTestDemo().subtract(9,2));
    }

    @Test
    public void multiply() {
        assertEquals(36, new JunitTestDemo().multiply(6,6));
    }

    @Test
    public void divide() throws Exception {
        assertEquals(2, new JunitTestDemo().divide(8,4),0.001);
    }
}

5.3. 执行maven+junit用例

5.3.1. 在idea中设置执行配置

allure+maven+junit_第3张图片

5.3.2. 执行生成结果

点击执行按钮后,会生成target文件,其中surefire-report目录即为执行报告。
allure+maven+junit_第4张图片

5.4. 使用allure生成报告

打开cmd窗口,cd到target目录下,执行“allure serve .\surefire-report”生成并查看测试报告。如果生成测试报告时有其他配置需求请参阅allure使用章节。

allure+maven+junit_第5张图片
allure+maven+junit_第6张图片

你可能感兴趣的:(Java自动化,maven,junit)