Junit4入门之如何编写好的测试类

 我来答
大沈他次苹0B
2022-08-07 · TA获得超过7324个赞
知道大有可为答主
回答量:3059
采纳率:100%
帮助的人:177万
展开全部

在使用junit前, 我们需要 了解 一些规则,如何去写好一个测试类。

之所以放在junit前说明,是因为单元测试不一定只能用junit去做,就算我们什么软件依赖都不用,也是可以做的,就是会麻烦点,不要下意识的觉得 单元测试=Junit ,应该是 单元测试 > Junit

市面上单元测试并不是只有junit一家的,还有许多其他的框架模块,只是相比之下它们没有junit普及。而且有些公司还有内部的单元测试框架,也未必是基于junit开发的。

甚至必要的时候,哪怕不用Juint,也要进行单元测试,这就只能用Java原生的断言语句等等了。

1)java中断言(assert)的使用

一开始我以为断言是junit中的特色,其实不然,断言是一个编程术语,常用于单元测试中,甚至它都并不只存在于java。

java中的断言 ,是在JDK1.4后开始使用的,关键字是assert,它主要是用在代码 开发和测试时期 ,用于对某些数据进行预期判断,如果结果不符合自己的预期,程序就警告或退出。

它的语法大概如下:

语法①:assert condition

condition代表一个布尔类型的条件表达式,如果为真,就继续正常运行,如果为假,则异常退出

这里我断言x>=0,如果计算结果符合我的预期则无事发生,如果计算结果x小于0,则不符合我的预期,断言失败,抛出AssertionError。

语法②:assert condition : message

condition和上面是一样的,冒号后的message通常用于断言失败后的异常提示信息,它就是个传入到AssertionError构造参数里的值,用于我们自定义错误详情的,这里就不放代码了,大家可以自己试试。

关于使用断言还有个最重要的规则: 程序的任何行为都不能依赖断言,千万不要把断言当成程序中的逻辑来使用 ,也就是你的代码即便删除里面所有的断言语句,它的逻辑和之前也是不能有任何变化的。因为它只是用于测试和开发的,甚至JVM默认都是关闭断言使用的,如果没有开启断言,程序会自动忽略所有断言语句,仿佛它们并不存在,要执行assert语句,必须给Java虚拟机传递-enableassertions(可简写为**-ea**)参数 启用断言 ,也可以使用-disenableassertion(简写为**-da) 参数 关闭断言**(默认就是关闭的)。

最后,虽然java有提供断言,但我们实际开发中却很少使用它,因为如果要使用它去测试,还不如直接用Junit框架去写单元测试的代码,Junit也提供了断言的语句。

虽然我们用不上java里的断言,但是也要有所了解,并且大部分的断言其实逻辑都是差不多的。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
富港检测技术(东莞)有限公司_
2024-05-27 广告
ISTA3E程序是对相同产品的集合包装的综合模拟性能测试,集合包装件被定义为将一个产品、多个产品或包装件放置在滑板或托盘上,固定在一起或是作为一个单元运输。例如:一台机器由带瓦楞底托的托盘上、瓦楞侧围、顶盖包装,用缠绕膜缠绕在托盘上。用于评... 点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式