junit包怎么导入(junit单元测试工具使用方法)

单元测试是软件开发流程中的重要环节,在软件工程理论里,越早发现bug,修复的成本越低。单元测试就属于测试人员/开发人员提前介入测试的一种手段,在代码还没正式提测前,提前对函数、类进行测试。但是很多时候往往因为项目周期比较紧张,从而忽略了单元测试,这样很多bug可能要到提测后,甚至就一直隐藏在代码中无法被发现。这就相当于在代码中埋藏了定时炸弹。因此单元测试是十分有必要的,它是保障代码执行的重要手段。…

模块测试是软件开发流程中的关键步骤,在软件开发基础理论里,越早发现bug,修补的费用越低。模块测试就属于测试工作人员/开发者提前介入测试的一种方式,在代码还没宣布提测前,提早对函数公式、类开展测试。可是许多情况下通常由于新项目时间较为焦虑不安,进而忽视了模块测试,那样许多bug很有可能要到提测后,乃至就一直掩藏在代码中没法被发觉。这就等同于在代码中掩埋了炸弹。因而模块测试是十分需要的,它是确保代码实行的主要方式。

在Java行业里,最著名的模块测试架构便是Junit了。 JUnit 有着较长的进步历程和持续演化的充实作用,深受大部分 Java 开发人员的亲睐。

全新的Junit版本是Junit5,这一版本可以说成 JUnit 模块测试架构的一次巨大更新,最先必须 Java 8 以上的软件环境,尽管在旧版本 JDK 也可以编译程序运作,但要彻底应用 JUnit 5 作用, JDK 8 自然环境是不可缺少的。

Junit5的首要特点有:

1. 给予最新的结论和测试注释,支持测试类嵌入

2. 更丰富的测试方法:支持动态性测试,反复测试,参数化设计测试等

3. 完成了模块化设计,让测试实行和测试发觉等不一样控制模块解耦,降低依靠

4. 给予对 Java 8 的支持,如 Lambda 关系式,Sream API等

下面,大家来学习培训下Junit的一些基本上应用。

在项目中引进Junit依靠

<dependency>

<groupId>org.junit.jupiter</groupId>

<artifactId>junit-jupiter-engine</artifactId>

<version>5.5.2</version>

<scope>test</scope>

</dependency>

先写一个简易的测试类

@DisplayName(\"第1个测试类\")public class DemoTest {
    @BeforeAll
    public static void init() {
        System.out.println(\"复位数据信息\");
    }


 @AfterAll
    public static void end() {
        System.out.println(\"清理空间\");
    }

    @BeforeEach
    public void setup() {
        System.out.println(\"现阶段测试方式逐渐\");
    }

    @AfterEach
    public void tearDown() {
        System.out.println(\"现阶段测试方式完毕\");
    }

    @DisplayName(\"第1个测试\")
    @Test
    void test1() {
        System.out.println(\"第1个测试逐渐测试\");
    }
@DisplayName(\"第2个测试\")
    @Test
    void test2() {
        System.out.println(\"第2个测试开始测试\");
    }}

好多个常见的注释表述:

@DisplayName:测试类在测试汇报中的名字,可以加进类上,还可以加在方式 上

@BeforeAll和@AfterAll:他们界定了全部测试类在进行前及其完毕时的实际操作,只有装饰静态方法,主要运用于在测试全过程中所需求的全部数据信息和外界网络资源的复位和清除

@BeforeEach和@AfterEach:他们所标明的办法会在每一个测试测试用例方式逐渐前和终止时实行,主要是承担该测试测试用例所需求的软件环境的打算和消毁。

在idea中运作测试类,见到控制面板打印信息如下所示:

能够看见,在全部测试全过程中,init函数公式和end函数只实行了一次,setup和tearDown函数在每一次运作test1、test2函数公式前后左右各自实行。

可重复性测试

在函数公式上加上@RepeatedTest注释可以特定反复实行的频次

@DisplayName(\"我的第三个测试-结论\")
@RepeatedTest(3)
void test3() {
    System.out.println(\"我的第三个测试逐渐测试\");
    Assertions.assertEquals(1, 1);
}

实行代码,能够看见test3函数连续实行了3次

免费领 码同学们手机软件测试 课程内容手记 很多学习材料 完整视频 全新面试问题,可以分享文章内容 私聊「码同学们666」获得材料哦

结论

在Junit5中,给予了新的结论类Assertions,普遍的api:

assertEquals:分辨2个数据信息是不是相同

assertNotEquals:分辨2个数据信息是不是不相同

assertNotNull:分辨目标是不是为空

实例:

@DisplayName(\"第4个测试\")
@Test
void test4() {
    System.out.println(\"第4个测试逐渐测试\");
    Assertions.assertEquals(1, 2);
}

实行测试,能够看见case实行不成功

是时候升级你的Junit了,Junit5超详细实战

参数化设计测试

在Junit5中,对参数化给予了十分丰富的支持,例如固定不动二维数组、csv文件等。

最先在新项目中加上参数化设计依赖包

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.5.2</version>
<scope>test</scope>

</dependency>

二维数组化主要参数

在测试函数公式上加上参数化设计有关的注释就可以,如:

@DisplayName(\"第5个测试-参数化设计测试-数据\")@ParameterizedTest
@ValueSource(ints = {1,2,3})
void test5(int num) {
    System.out.println(\"现阶段数据为:\"   num);
}

注释表述:

@ParameterizedTest:运作参数化设计测试

@ValueSource:主要参数由来为二维数组,支持各种各样基本数据类型的二维数组,如整形二维数组ints,字符串数组strings,chars等

依照以上配备,test5函数公式会运作3次,每一次会把二维数组中的原素传到num值

是时候升级你的Junit了,Junit5超详细实战

Junit支持将主要参数数据信息载入到一个csv文件中,随后在测试测试用例中载入csv文件中的数据信息。

在新项目resource文件目录下新创建一个csv文件,内部结构储存登录名和token的相匹配数据信息

是时候升级你的Junit了,Junit5超详细实战
@DisplayName(\"第8个测试-参数化设计测试-csv文件\")
@ParameterizedTest
@CsvFileSource(resources = \"/output.csv\")
void test8(String name, String token) {
    System.out.println(\"现阶段名字为:\"   name   \",现阶段token为:\"   token);
}

@CsvFileSource:特定csv文件的途径

在函数公式名上界定csv文件中每列相匹配的主要参数名,那样csv文件中有几行数据信息,test8函数公式便会运作几回,而且每一次都是会传到相匹配列的数据信息。

是时候升级你的Junit了,Junit5超详细实战

以上便是Junit常见的一些应用情景,大量Junit的操作方法,可以去Junit官网查询有关的实例。

END

免费领码同学们手机软件测试课程内容手记 很多学习材料 学习培训完整视频,可以了解大家微信公众号哦:自动化设计测试

文中版权归创作者全部,一切类型的转截都请联络创作者获取受权并标明来源。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年5月11日 上午11:11
下一篇 2022年5月11日 上午11:11

相关推荐

  • 微信怎么恢复删除的好友,一招恢复已删好友的妙招

    微信删除的好友怎么找回?我们在使用微信的过程中,可能会因为一时生气,将好友给删除了,等事后冷静下来想回恢复时,却不知道如何下手了,其实通过一些小技巧还是有机会找回的,那恢复微信好友具体的方法是什么呢?下面我们就一起来了解下。 方法一:通过朋友圈互动找回 朋友圈是我们分享生活的地方,好友们可以给我们点赞或评论,如果你与该好友有过类似的互动,我们就可以很简单的从中找回。 我们只需打开朋友圈,点击右上角…

    2022年7月12日
    720
  • 饰品连锁店有哪些牌子(国内知名小饰品品牌)

    周日晚九点四十分,距离商场关门还剩不到三十分钟,北京合生汇地铁层的这家名叫“BA饰物局”的饰品集合店依旧人头攒动。 店内是清一色穿搭入时的年轻女性,她们没有被商场循环的送客广播影响,还在认真地浏览琳琅满目的货架,并不时拿下一两件产品进行在镜前试戴、自拍。 在过去六个月里,以BA饰物局、Me+饰品热搜站、ACC超级饰、洋葱仓库为代表的饰品集合店狂飙猛进,正在抢占一二线城市核心商圈内快速开店。它们的共…

    2022年5月10日
    930
  • dnf装备镶嵌栏怎么开,dnf镶嵌栏开启装置获取攻略

    镶嵌栏开启装置还能丢到拍卖行赚点金币?这恐怕你都不知道!镶嵌栏开启装置作用比较大,能为装备打孔,从而镶嵌一些徽章属性。在NPC达芙妮处,一个镶嵌栏开启装置,需要40万游戏币。然而,殊不知,这镶嵌栏开启装置,还能够在拍卖行上出售,其价格比达芙妮卖的还要昂贵! 镶嵌栏开启装置,在拍卖行的话,41万多金币,比达芙妮处要昂贵一万多金币。在有商城驴子的情况下,减少3%的手续费后,尚且还不至于亏。可能,很多人…

    2022年6月5日
    1010
  • express跨域设置(跨域post请求)

    最近在学习express,就用以前做的项目来进行express前后端分离的练手了,在做登陆注册的时候发现跨域的时候,session的值是会失效的,导致session里面的数据获取为undefined,网上找资料加上自己的不断尝试,终于找到了解决方法,简单记录一下解决方法。 1、客户端因为session原则上是需要cookie支持的,所以Ajax方法里面必须添加xhrFields:{withCred…

    2022年5月18日
    850
  • 著名商标申请条件,申请著名商标要多少钱

    申请著名商标需要满足的条件如下: 1、该商标注册已满三年且自注册之日起连续三年依法使用; 2、该商标为省内相关公众广为知晓并享有较高信誉; 3、该商标申请人拥有良好的商业信誉;等等。 需要的资料如下: 1、申请书; 2、申请人的有关身份证明材料; 3、商标注册的证明材料; 4、该商标所指商品近3年的销售额、纳税额、市场占有率等主要经济指标及在省内同行业排序情况的有关材料;等等。 【法律依据】 《商…

    2022年7月4日
    580
  • 怎么下载网页上的图片到电脑,掌握这个方法下载其实很简单

    有一些朋友因为工作需要或者个人爱好,总是需要下载各种图片,比如壁纸啦、设计素材啦,有时候耗费大量时间终于在网页里找到了。 下载图片很简单,或者右键另存为,或者直接拖到桌面,但是这只适合几张图片的下载,如果一个页面上有几十兆,甚至几百兆上千张的图片,显然用鼠标来一张一张下载太慢了,有没有办法快速下载呢? 当然有的,小迷虫可是一直使用的这种批量下载图片的方法呢,这个方法就是浏览器配合插件:图片助手,就…

    2022年9月9日
    480
  • svchost是什么,svchost内存占用满的解决方法

    【电脑小妙招】第一期分享 很多小伙伴在使用电脑的时候,会发现自己的电脑有时候变得很卡,而且网速也会有所下降,这都是因为你们的电脑里面有一个名为svchost.exe的程序。 svchost.exe是一个属于微软Windows操作系统的系统程序,微软官方对它的解释是:svchost.exe 是从动态链接库(DLL)中运行的服务的通用主机进程名称。svchost不仅会占有电脑内存,还会抢你的网,今天给…

    2022年7月31日
    650
  • 资生堂洗发水怎么样(这款洗发水口碑相当好确实好用)

    资生堂洗发水怎么样 SHISEIDO资生堂是创立于1872年的高端化妆品品牌,一直致力于对美的追求。资生堂提供全系列护肤、彩妆、身体护理等产品信息和男士护肤方案。 1872年资生堂在日本东京银座创立了第一家西式调剂药房。1897年科学性地开发出了以西洋药学处方为基础,名为红色蜜露(EUDERMINE)的化妆水。从此,资生堂便一直致力于美肌和秀发的研究,研发出了许多革新商品和美容方法。今天的资生堂不…

    2022年9月25日
    530
  • 绩效自评怎么写(个人绩效考核自我评价)

    员工季度考核优秀员工自我评价 在2020年第一季度工作中虽然面对无情的新型冠状病毒,但我们始终面对疫情防控就是责任,在公司领导关怀下积极响应疫情期间各项防控要求,做到随时穿戴口罩、勤洗手,消毒,在室外远离密集人群等工作。 在工作中努力学习新业务新知识,积极参加公司岗位培训,在巩固原有知识基础上,通过自觉不断充实知识与工作技能,虽然面对疫情工作开展困难,但不拍辛苦疲劳努力追赶进度,做好各项领导交代下…

    2022年10月18日
    340
  • excel加权平均公式怎么用,史上最详细教程分享

    Hello大家好,我是帮帮。今天跟大家分享一下Excel数据平均值统计常用函数公式,多功能计算,简单语法赶紧Get。 有个好消息!为了方便大家更快的掌握技巧,寻找捷径。请大家点击文章末尾的“了解更多”,在里面找到并关注我,里面有海量各类模板素材免费下载,我等着你噢^^<——非常重要!!! メ平均函数一:计算学生平均绩点,直接输入函数:=AVERAGE(C2:C9)。メ メ平均函数二:加权平均…

    2022年9月24日
    1000

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信