当前位置: 首页 > news >正文

做网站好听的域名营销外包

做网站好听的域名,营销外包,广州网页设计制作,wordpress迁移安装目录 1、认识JUnit 2、Junit中常见的注解 1、Test 2、Disabled 3、BeforeAll和AfterAll 4、BeforeEach和AfterEach 5、 ParameterizedTest:参数化 6、order 3、断言 1、断言相等【Assertions.assertEquals(预期,比较值)】;相等测试通…

目录

1、认识JUnit

2、Junit中常见的注解 

1、@Test

 2、@Disabled

 3、@BeforeAll和@AfterAll

4、@BeforeEach和@AfterEach

5、 @ParameterizedTest:参数化

 6、@order

3、断言 

1、断言相等【Assertions.assertEquals(预期,比较值)】;相等测试通过

2、断言不相等(Assertions.assertNotEqals(预期,比较值));不相等则让测试通过 

 3、断言为空:Assertions.assertNull(值)

4、断言不为空:Assertions.assertNotNull(值) 

4、测试套件 

1、指定一组要执行的测试类(@SelectClasses)

 2、指定一个包执行测试用例(@SelectPackages)


1、认识JUnit

JUnit是针对Java编程语言的最流行的单元测试框架,用于庇阿涅和运行测试,提供注释来识别测试方法,提供断言来测试预期结果,提供测试运行来运行测试。JUnit测试可以自动运行并检查自身结果并提供即时反馈。

Selenium和Junit的关系

Selenium是自动化测试框架,JUnit是单元测试框架

拿着一个技术写自动化测试测试用例(Selenium3)

拿着一个技术管理已经编写好的测试用例(JUnit5)

2、Junit中常见的注解 

我们在这里主要介绍JUnit5中的注解,JUnit版本,其中的注解也有所不同。在正常的类中,如果我们想要运行一个方法,需要我们在main方法中调用这个方法,但是现在我们在方法上添加下面的注解之后,就可以将该方法运行起来。

注解说明
@Test表示当前的这个方法为一个测试用例
@Disabled标识禁用的测试类或者测试方法
@BeforeAll在所有的测试方法之前执行,并只会执行一次
@BeforeEach在每个测试方法之前执行
@AfterAll在所有的测试方法执行完成之后执行,只会执行一次
@AfterEach在每个测试方法之后执行
@ParameterizedTest标识参数化测试方法
@order设置测试方法的执行顺序

1、@Test

用来表示当前这个方法为一个测试用例。

    @Testvoid test01(){System.out.println("这是JunitTest中的Test01");}

 2、@Disabled

标识禁用的测试类或者测试方法

public class JunitTest {@Testvoid test01(){System.out.println("这是JunitTest中的Test01");}@Disabledvoid test02(){System.out.println("这是JunitTest中的Test02");}
}

 3、@BeforeAll@AfterAll

因为这两个注解是正对整个类中的方法的,所以需要给这些方法用static修饰

@BeforeAll:在所有的测试方法执行之前执行,只会执行一次

@AfterAll:在所有的测试方法执行之后执行,之后执行一次

public class JunitTest {@Testvoid test01(){System.out.println("这是JunitTest中的Test01");}@Testvoid test02(){System.out.println("这是JunitTest中的Test02");}@AfterAllstatic void TearDown(){System.out.println("这是AfterAll的语句");}@BeforeAllstatic void SetUp(){System.out.println("这是BeforeAll里面的语句");}
}

 这两注解的使用场景,比如在做UI自动化的时候,通常情况下,我们会将创建驱动、打开网页这些操作放到BeforeAll里面,将关闭浏览器放到AfterAll中。

4、@BeforeEach@AfterEach

 @BeforeEach:在每个测试方法执行之前执行

@AfterAll:在每个测试方法执行之后执行

public class JunitTest {@Testvoid test01(){System.out.println("这是JunitTest中的Test01");}@Testvoid test02(){System.out.println("这是JunitTest中的Test02");}@AfterEachvoid TearDown(){System.out.println("这是AfterEach的语句");}@BeforeEachvoid SetUp(){System.out.println("这是BeforeEach里面的语句");}
}

5、 @ParameterizedTest:参数化

🍂单参数

1️⃣单参数使用@ValueSource获取数据

    @ParameterizedTest@ValueSource(strings = {"1","2","3"})void Test03(String num){System.out.println(num);System.out.println("-----------------");}

2️⃣单参数@CsvfileSource(resources= "test01.csv")获取参数 。

    @ParameterizedTest@CsvFileSource(resources = "test01.csv")void Test06(String name){System.out.println(name);}

 这个方法的执行次数根据.csv文件中数据行数来执行。

🍂多参数获取,

public static Stream<Arguments> Generator() {return Stream.of(Arguments.arguments(1,"张三"),Arguments.arguments(2,"李四"),Arguments.arguments(3,"王五"));}@ParameterizedTest@MethodSource("Generator")void test04(int num,String name){System.out.println(num+":"+name);}

 6、@order

🍂按照程序员指定的顺序执行

@order注解是Junit5中用来指定测试方法的执行顺序的,@order搭配@TestMethodOrder(MethodOrder.OrderAnnotation.class)【指定测试方法按照程序员设定的顺序执行】来使用。

可以看到上图中的方法执行顺序,并没有按照方法的编写顺序执行。这里的测试方法在没有设置执行顺序的时候,这些测试方法的执行顺序不一定是按照从上到下的顺序执行的,这里还是要看Junit5内部是如何设计测试方法的执行顺序的。

@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class JunitTest1 {@Order(1)@Testvoid A(){System.out.println("这是JunitTest的A");}@Order(2)@Testvoid test01(){System.out.println("这是JunitTest中的Test01");}@Order(3)@Testvoid test02(){System.out.println("这是JunitTest中的Test02");}@Order(4)@Testvoid B(){System.out.println("这是JunitTest的B");}}

 

 可以看到我们添加了@TestMethodOrder(MethodOrder.OrderAnnotation.class)注解和@Order注解,现在这些测试方法按照我们设定的顺序进行执行了。

🍂随机顺序执行测试方法

使用@TestMethodOrder(MethodOrder.Random.class)注解,来进行随机的执行顺序,这个时候就不需要再测试方法上添加@Order注解来指定执行顺序了。

@TestMethodOrder(MethodOrderer.Random.class)
public class JunitTest1 {@Testvoid A(){System.out.println("这是JunitTest的A");}@Testvoid test01(){System.out.println("这是JunitTest中的Test01");}@Testvoid test02(){System.out.println("这是JunitTest中的Test02");}@Testvoid B(){System.out.println("这是JunitTest的B");}

3、断言 

断言方法说明
assertEquals(expected,actual)验证两个数据是否相等,相等测试通过
assertNotEquals(expected,actual)验证两个数据是否不相等,不相等测试通过
assertNotNull(expected,actual)验证对象是否为不为空,不为空测试通过
assertNull(expected,actual)验证对象是否为空,为空测试通过

1、断言相等【Assertions.assertEquals(预期,比较值)】;相等测试通过

    @ParameterizedTest@ValueSource(ints = {1})void Test03(int num) {Assertions.assertEquals(1, num);}

 

2、断言不相等(Assertions.assertNotEqals(预期,比较值));不相等则让测试通过 

    @ParameterizedTest@ValueSource(ints = {1})void Test03(int num) {Assertions.assertNotEquals(2, num);}

 

 3、断言为空:Assertions.assertNull(值)

    @Testvoid Test4(){String str = null;Assertions.assertNull(str);}

4、断言不为空:Assertions.assertNotNull(值) 

    @Testvoid Test4(){String str = "zhangsan";Assertions.assertNotNull(str);}

4、测试套件 

在Junit5中,@Suite注解用于将多个测试类组合成一个测试套件。测试条件是一种组织测试用例的方式,可以将多个测试类组合在一起执行。这对于在项目中有多个相关的测试类是非常有用,可以方便的运行所有的相关测试用例。

使用@Suite注解时,需要将注解添加到一个测试类上,该类将作为测试套件的主类,用于组织和执行其他测试类。

1、指定一组要执行的测试类(@SelectClasses)

@SelectClasses注解用于选择要运行的测试类,它允许指定一组类,JUnit将仅运行这些类中的测试用例。这些类的执行顺序时按照这些类的添加顺序执行。

//设置该类为套件测试的主类
@Suite
//选择要运行的测试类
@SelectClasses({JunitTest.class,JunitTest1.class})
public class RunSuite {
}

 2、指定一个包执行测试用例(@SelectPackages)

在Junit5中,@SelectPackages注解用于选择要运行测测试包,它允许指定一个或多个包,Junit将仅运行这些包中的测试用例。

package Test08;import org.junit.jupiter.api.Test;public class Test07 {@Testvoid Test007(){System.out.println("Test08 Test07 Test007");}
}
package Test09;import org.junit.jupiter.api.Test;public class Test09 {@Testvoid Test01(){System.out.println("Test09 Test09 Test01");}
}
import org.junit.platform.suite.api.SelectPackages;
import org.junit.platform.suite.api.Suite;
//设置该类为套件测试的主类
@Suite
//选择要运行的测试包
@SelectPackages(value = {"Test09", "Test08"})
public class RunSuite {
}

http://www.hkea.cn/news/191786/

相关文章:

  • 石家庄网站建设推广报价怎么让百度快速收录网站
  • 建设局网站上开工日期选不了制作网站需要多少费用
  • 犬舍网站怎么做网页推广怎么做
  • 镇江核酸检测最新通知如何优化网页加载速度
  • wpf入可以做网站吗竞价托管外包费用
  • 公司设计网站需要包含什么资料优化排名软件
  • 日本樱花云服务器wan亚马逊seo关键词优化软件
  • layui框架的wordpress厦门站长优化工具
  • 微网站设计尺寸培训课程总结
  • 保险平台官网湖北搜索引擎优化
  • 西安微信小程序制作公司关键词优化方法
  • 手机网站建设用乐云seo搜索引擎是什么意思啊
  • 昆明做大的网站开发公司google网页搜索
  • 做网站运营需要什么证宁波靠谱营销型网站建设
  • 天津进口网站建设电话青岛网站建设公司
  • 游戏币网站建设win7优化大师官方网站
  • 技术专业网站建设班级优化大师网页版登录
  • 外国网站上做雅思考试台州百度推广优化
  • 男女做那种的的视频网站国内最好的搜索引擎
  • 泉州做网站优化价格成功品牌策划案例
  • 做网站去哪个平台资源优化排名网站
  • 备案的网站名称可以改吗百度青岛代理公司
  • 专做进口批发的网站关键词优化多少钱
  • 做网站有了空间在备案吗百度权重高的网站有哪些
  • 做空间的网站著名的网络营销案例
  • 做网站客户尾款老不给怎么办百度推广年费多少钱
  • 想要将网站信息插到文本链接怎么做百度关键词搜索
  • 江苏网站备案要多久seo域名综合查询
  • 大型网站建设机构津seo快速排名
  • 建设证件查询官方网站宁波做网站的公司