深圳门户网站建设,网站开发过程前端后端,网页升级访问永久360,有关网站招标商务标书怎么做目录
什么是Junit#xff1f;
Junit的基础注解有哪些#xff1f;
什么是参数化#xff1f;参数化通过哪几种方式传输数据#xff1f;
单参数
多参数
CSV文件获取参数
方法获取参数
测试用例执行顺序如何控制#xff1f;
什么是断言assert#xff1f;Assertions类…目录
什么是Junit
Junit的基础注解有哪些
什么是参数化参数化通过哪几种方式传输数据
单参数
多参数
CSV文件获取参数
方法获取参数
测试用例执行顺序如何控制
什么是断言assertAssertions类的常用方法
什么是测试套件如何使用测试套件 什么是Junit Junit是一个用于Java的单元测试框架用于管理已经编写好的测试用例。 使用时需要引入 Junit-jupiter-api 依赖。 Junit需要从注解、参数化和测试套件三个方面去理解。 !-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api --
dependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter-api/artifactIdversion5.9.3/version
/dependency Junit的基础注解有哪些 Test用于表示该方法是一个测试用例该注解通常不应该和ParameterizedTest注解同时使用 Disabled忽略被该注解修饰的测试用例 BeforeAll执行所有测试用例之前会调用该方法 AfterAll执行素偶又测试用例之后会调用该方法 BeforeEach每一个测试用例运行之前会调用该方法 AfterEach每一个测试用例运行之后会调用该方法 什么是参数化参数化通过哪几种方式传输数据 参数化是指在测试用例需要传入参数时使用的传输手段。 使用时需要引入 junit-jupiter-params 依赖 dependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter-params/artifactIdversion5.9.3/versionscopecompile/scope
/dependency 参数化通过以下四种方式传输数据 单参数多参数CSV文件获取参数方法获取参数 单参数 使用 ParameterizedTest 注解 使用 ValueSource 注解在注解中填入需要传递的单个或多个测试用例 通过方法参数接收每次接收一个测试用例 ParameterizedTest
ValueSource(ints {1, 2, 3})
public void oneParameter(int i) {System.out.println(oneParameter: i);
}
多参数 使用 ParameterizedTest 注解 使用 CsvSource 注解在注解中填入需要传递的多个测试用例 通过方法参数接收每次接收的测试用例数量由参数个数决定 ParameterizedTest
CsvSource(value {张三,12, 李四,13, 王五,14})
public void multipleParameter(String name, int age) {System.out.println(csvFileParameter: name - age);
}
CSV文件获取参数 使用 ParameterizedTest 注解 使用 CsvFileSource 注解传入 csv 文件 在 resources 目录中创建对应的 csv 文件csv 文件每一行为一个参数参数之间使用 ‘,’ 分隔 通过方法参数接收测试用例每次接收一行 test.scv
张三,12
李四,13
王五,14----------------------------------------------------------------ParameterizedTest
CsvFileSource(resources /test.csv)
public void csvFileParameter(String name, int age) {System.out.println(csvFileParameter: name - age);
}
方法获取参数 使用 ParameterizedTest 注解 使用 MethodSource 注解指定方法名 创建传输参数的方法发方法必须为 static 通过方法参数接收测试用例 public static StreamArguments methodSource() {return Stream.of(Arguments.of(张三, 12),Arguments.of(李四, 13),Arguments.of(王五, 14));
}ParameterizedTest
MethodSource(value methodSource)
public void methodParameter(String name, int age) {System.out.println(csvFileParameter: name - age);
} 测试用例执行顺序如何控制 使用注解 TestMethodOrder不使用该注解时测试用例的执行顺序是不确定的。 使用注解 TestMethodOrder(MethodOrderer.OrderAnnotation.class) 修饰类表示该类中的测试用例可更改优先级。 再使用注解 Order(优先级) 修饰方法并将代表优先级的数字填入参数中数字 1 表示最高优先级。 使用注解 TestMethodOrder(MethodOrderer.Random.class) 修饰类表示该类中的测试用例将被随机执行。 什么是断言assertAssertions类的常用方法 断言表示结果必须符合预期否则抛出异常测试不通过。 断言使用 Assertions 类。 Assertions 类的常用方法包括 断言相等assertEquals() 断言不等assertNotEquals() 断言为空assertNull() 断言不为空assertNotNull() 什么是测试套件如何使用测试套件 测试套件是用于将多个测试用例的类同时运行的工具相当于将众多测试打包。 使用测试套件时需要引入以下两个依赖 junit-platform-suite 测试套件 junit-jupiter-engine 测试套件引擎 使用注解 Suite() 修饰类表示启用测试套件。可以使用两种方式将测试用例打包为测试套件 可以通过 载入类名 运行测试用例使用注解 SelectClasses({类名.class...}) 在注解中传入需要测试的类。可以通过 载入包名 运行测试用例将多个测试用例类放入同一个包中使用注解SelectPackages({包名...})在注解中传入需要测试的包。 !-- https://mvnrepository.com/artifact/org.junit.platform/junit-platform-suite --
dependencygroupIdorg.junit.platform/groupIdartifactIdjunit-platform-suite/artifactIdversion1.9.2/versionscopetest/scope
/dependency!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine --
dependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter-engine/artifactIdversion5.9.2/versionscopetest/scope
/dependency