https://github.com/allure-framework/allure2/releases/tag/2.13.2
https://maven.apache.org/download.cgi
执行maven前在pom.xml文件中配置junit对应的依赖,执行maven时会自动安装junit包到maven本地库。
allure [options] [command] [command options]
|- src
|- main
|- java # 存放被测试包/类
|- resource # 存放被测试类的依赖包
|- test
|- java # 存放测试包/类
|- resource # 存放测试类的依赖包
|- pom.xml # maven的配置文件
需要的依赖可以到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
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
要安装junit只需要将junit的依赖添加到maven的pom.xml文件中即可,maven工具会自动下并安装到本地仓库。
excepted属性是用来测试异常的,即如果被测试的方法没有抛出异常,测试不通过,抛出异常,则测试通过。
我们在单元测试类中添加异常测试方法:
@Test (expected = Exception.class)
public void testDivideException() throws Exception {
new Junit_Test_Demo().divide(3,0);
fail("除数为零没有抛出异常...");
}
该测试方法是(expected = Exception.class)和fail(“除数为零没有抛出异常…”),会检查是否抛出Exception异常(也可以检查其他异常)。如果抛出异常测试通过,没有抛出异常测试不通过执行fail(“除数为零没有抛出异常…”)。
该方法是用来测试性能的,测试一个方法能不能在规定时间内完成。用法和expected一样。
@Test (timeout = 1000)
public void testDivideTimeout() throws Exception {
new Junit_Test_Demo().divide(6,3);
}
收集覆盖率,通过Run→Run ‘Junit_Test_DemoTest’ with Coverage,运行结束后,IDEA将会在Projec工具窗口显示每个程序包、类的覆盖率数据,同时在Coverage工具窗和编辑器中也会显示。
junit
junit
4.13
test
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;
}
}
}
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);
}
}
点击执行按钮后,会生成target文件,其中surefire-report目录即为执行报告。
打开cmd窗口,cd到target目录下,执行“allure serve .\surefire-report”生成并查看测试报告。如果生成测试报告时有其他配置需求请参阅allure使用章节。