目录

1.相关技术

1.1注解

1.1.1@Test

1.1.2@Disables 忽略

1.1.3@BeforeAll @AfterAll

1.1.4@BeforeEach @AfterEach

1.2参数化

1.2.1单参数

1.2.2多参数

1.2.3CSV获取参数

1.2.4方法获取参数

1.3运行顺序

1.3.1问题

1.3.2按指定顺序执行

1.3.3随机执行

1.4.断言

2.测试套件

2.1通过class运行测试用例

2.2通过包运行测试用例

1.相关技术

1.1注解

1.1.1@Test

表示当前的这个方法是一个测试用例

要引入依赖(中央仓库-->junit-->JUnit Jupiter API » 5.9.1)

org.junit.jupiter

junit-jupiter-api

5.9.1

@Test

void Test01(){

System.out.println("这是Junit中Test01");

}

1.1.2@Disables

忽略不运行这个测试用例

@Disabled

void Test02(){

System.out.println("这是Junit中Test01");

}

1.1.3@BeforeAll @AfterAll

方法前要加static

@BeforeAll:在运行其他所有测试用例之前运行 只运行一次      一般存放连接,开启   

@AfterAll:在运行其他所有测试用例之后运行 只运行一次       一般存放关闭

@BeforeAll

static void SetUp(){

System.out.println("这是BeforeAll的语句");

}

@AfterAll

static void TearDown(){

System.out.println("这是AfterAll的语句");

}

 

1.1.4@BeforeEach @AfterEach

@BeforeEach 在运行每一个测试用例之前运行 有几个测试用例运行几次

@AfterEach 在运行每一个测试用例之后运行 有几个测试用例运行几次

@BeforeEach

void SetUp(){

System.out.println("这是BeforeAll的语句");

}

@AfterEach

void TearDown(){

System.out.println("这是AfterAll的语句");

}

 

1.2参数化

 引入依赖 中央仓库-->Parameterized-->JUnit Jupiter Params » 5.9.1

org.junit.jupiter

junit-jupiter-params

5.9.1

1.2.1单参数

@ParameterizedTest

@ValueSource(类型+s={,,,})

@ParameterizedTest

@ValueSource(ints={1,2,3})

void Test04(int num){

System.out.println(num);

}

@ParameterizedTest

@ValueSource(strings={"1","2","3"})

void Test05(String num){

System.out.println(num);

}

 

1.2.2多参数

@ParameterizedTest

@CsvSource({,,,})

@ParameterizedTest

@CsvSource({"1,2,3"})

void Test06(String x,String y,String z){

System.out.println(x);

System.out.println(y);

System.out.println(z);

}

 

1.2.3CSV获取参数

@ParameterizedTest

@CsvFileSource(resources="  文件名.csv")

@ParameterizedTest //运行几次取决于csv有几行

@CsvFileSource(resources = "test01.csv")//这个文件必须以csv结尾

void Test06(String name){

System.out.println(name);

}

test01.csv

张三1. 李四1. 王五1

张三2. 李四2. 王五2

张三3. 李四3. 王五3

 

1.2.4方法获取参数

@ParameterizedTest

@MethodSource("Generator")

测试数据:

public static Stream Genertor(){

return Stream.of(Arguments.arguments(),

Arguments.arguments(),

Arguments.arguments(),...

); }

@ParameterizedTest

@MethodSource("Generator")

//接收

void Test07(int num,String name){

System.out.println(num+" : "+name);

}

//测试数据

public static Stream Generator(){

return Stream.of(Arguments.arguments(1,"张三"),

Arguments.arguments(2,"李四"),

Arguments.arguments(3,"王五")

);

}

 

1.3运行顺序

1.3.1问题

更改代码顺序,不改变运行顺序

执行顺序固定:Junit有自己固定的执行顺序

 

 

1.3.2按指定顺序执行

类前加注解@TestMethodOrder(MethodOrder.OrderAnnotation.class)

每个用例前加@Order(i) 在第i个执行,i从1开始

 

 

1.3.3随机执行

@TestMethodOrder(MethodOrder.Random.class)

 

1.4.断言

//断言相等

Assertions.assertEquals(1,num);

//断言不相等

Assertions.assertNotEquals(2,num);

String str=null;

//断言为空

Assertions.assertNull(str);

//断言不为空

String str1="null1";

Assertions.assertNotNull(str1);

2.测试套件

引入依赖

org.seleniumhq.selenium

selenium-java

3.141.59

commons-io

commons-io

2.11.0

org.junit.jupiter

junit-jupiter-api //注解

5.9.1

org.junit.jupiter

junit-jupiter-params //参数化

5.9.1

org.junit.jupiter

junit-jupiter-params //参数化

5.9.1

org.junit.platform

junit-platform-suite

1.9.1

test

org.junit.platform

junit-platform-suite

1.9.1

org.junit.jupiter

junit-jupiter-engine

5.9.1

test

2.1通过class运行测试用例

@Suite

//通过class测试用例执行

@SelectClasses({JunitTest.class,JunitTest01.class,JunitTest02.class})//规定执行顺序

public class RunSuite {

}

 

2.2通过包运行测试用例

@Suite

@SelectPackages(value ={"Package01","Package02"})

public class RunSuite {

}

 

精彩内容

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: