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

作者&投稿:狄杜 (若有异议请与网页底部的电邮联系)
~

在使用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里的断言,但是也要有所了解,并且大部分的断言其实逻辑都是差不多的。




必修一英语unit4的课文翻译是什么?
必修一英语unit4课文翻译如下。地球的一个不眠之夜 河北省东北部的农村不断有些怪事发生:三天来,村子里的井水升升降降,起起伏伏。农夫注意到。水井的井壁上有深深的裂缝,裂缝里冒出臭气。农家大院里的鸡,甚至猪都紧张得不想吃食。老鼠从田地里跑出来找地方藏身。鱼缸和池塘里的鱼会往外跳。在...

小学英语四年级上册Unit4 A Let’s learn教案
(2)能够听懂并能发出一些指令,如:Go to the living room,watch TV \/ … 3. 情感、策略、文化等...寓思想教育于教学之中。 T: Read after me. (用升、降调领读) Ss: (one by one) T: (课件呈现

七年级下册英语优质教案unit 4
下面是我为大家精心整理的七年级下册英语优质教案unit 4 ,仅供参考。 七年级下册英语优质教案unit 4 ...相同方面如摇头表示否定,点头表示赞同,这种较为容易理解。重点是与本民族文化相异之处,应当深入辨析。

剑桥标准英语教程4目录
接着是Unit2 'Personal Tastes',关注个体喜好和价值观,帮助学生提高理解和表达个人喜好的能力。Unit3 'World Culture' 跨越全球视野,让学生对世界各地的风俗习惯和传统有深入认识。在学习的中期,Touchstone checkpoint Units 1-3 提供了一个重要的学习里程碑,检查和巩固前面单元所学的知识。Unit4 '...

pep小学英语四年级上册教案:Unit 4 My home
Unit 4 My home 【单元学习内容】本单元学习的主题是询问物品的位置。【单元学习目标】一、能力目标:1、能够在真实或模拟的情境中运用句型Where is...? Is she in the study? Where are...? Are they on the table? 来询问物品位置。2、能够在情境中运用句型Yes, she is.\/ No, she isn’...

九年级英语单词表:Unit 4
九年级英语单词表(带音标):Unit 4 million\/'miljən\/n. 百万 medical\/'medikəl\/a. 医学的;医疗的 research\/ri'sə:tʃ\/n. 研究;调查 tie\/tai\/n.领带 worry\/'wʌri\/n.烦恼;忧虑 what if如果…将会怎么样 pimple\/'pimpl\/n. 小脓疱;丘疹 exam n. ...

剑桥少儿英语单词·会话记忆手册目录
剑桥少儿英语单词与会话记忆手册的目录如下:Unit 1 - 初步探索 Unit 2 - 日常交流入门 Unit 3 - 问候与自我介绍 Unit 4 - 家庭与朋友词汇 Unit 5 - 动物与自然环境 Unit 6 - 食物与健康话题 Unit 7 - 学校与学习生活 Unit 8 - 交通工具与旅行 Unit 9 - 购物与日常消费 Unit...

商务英语300句:Unit 4 Visiting A Factory 参观工厂
如有可能,还有价格。 -- 好的。这是我们的销售目录和说明书。 -- 谢谢。我想也许将来我们可以合作...edge [ edV ] 优势,优越之处 automated [5C:tEumeitid ] 机械化的,自动的 concerned [ kEn5sE:

小学四年级上册英语单词表
Unit 2: 语文书(Chinese book)、铅笔(pencil)、英语书(English book),以及数字词汇如二十一(twenty-one)、数学书(math book)等。Unit 3: 关于人物特征的单词,如长发(long hair)、短发(short hair)、瘦的(thin)、强壮的(strong),以及朋友(friend)等概念。Unit 4: 家居环境词汇如...

新概念英语4图书目录
Part 2 Unit 3: 进一步深入探讨医学与艺术,如“A man-made disease”和“Bird flight”,以及历史与文化,如“Galileo reborn”。Unit 4: 本单元关注环境影响与科学探索,如“Non-auditory effects of noise”和“Exploring the sea floor”,以及艺术创作与人类成长,如“The sculptor speaks”和“...

清原满族自治县13353564824: 如何使用junit4写单元测试用例 -
漳底大安: 我们在编写大型程序的时候,需要写成千上万个 方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的.但是,我们同时应该 确保每一个函数都完全正确,...

清原满族自治县13353564824: java junit4测试类怎么写 -
漳底大安: 在工程中右键built path 添加junit4,然后再创一个包命名为test....,里面创建test...... ..类,@before public void init() @test public void test1() 大概这样子,要记得实例化,才能调用

清原满族自治县13353564824: 如何使用junit编写测试类 -
漳底大安: 工具/原料 eclipse工具 junit包 方法/步骤 首先创建一个java Project;将junit包和hamcrest-core包导入到项目中 创建一个source folder 资源文件夹 test,资源文件夹和普通的文件夹区别是,资源文件夹中的java文件可以被自动编译.在java文件中编...

清原满族自治县13353564824: Java开发如何编写出优秀的Java单元测试 -
漳底大安: 1. 使用框架来用于单元测试 Java提供了若干用于单元测试的框架.TestNG和JUnit是最流行的测试框架.JUnit和TestNG的一些重要功能:易于设置和运行.支持注释 允许忽略或分组并一起执行某些测试.支持参数化测试,即通过在运行时指定...

清原满族自治县13353564824: 怎么写Java测试代码? -
漳底大安: 可以用main函数和JUnit来写测试代码.main是最早使用的,但是现在更流行的测试工具是JUnit. JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个. ...

清原满族自治县13353564824: ssm框架junit4测试怎么写 -
漳底大安: SSM(Spring+SpringMVC+MyBatis)框架集由Spring、SpringMVC、MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架.其中spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架.SpringMVC分离了控...

清原满族自治县13353564824: 怎样使用 Junit Framework 进行单元测试的编写 -
漳底大安: 1. 单元测试的编写原则 Junit 附带文档所列举的单元测试带有一定的迷惑性,因为几乎所有的示例单元都是针对某个对象的某个方法,似乎 Junit 的单元测试仅适用于类组织结构的静态约束,从而使初学者怀疑 Junit 下的单元测试所能带来的效果.

清原满族自治县13353564824: 如何使用junit4进行参数化测试 -
漳底大安: Step 1: 写出基本的算术代码Calculate.java package com.ysc.main; public class Calculate { public static int add(int a, int b) { return a + b; } public static int minus(int a, int b) { return a - b; } public static int divide(int a, int b) throws Exception { if (b == ...

清原满族自治县13353564824: java junit单元测试怎么写 -
漳底大安: package com.yuanqi.zfb.test;import org.junit.Test;import com.yuanqi.zfb.util.VerifyCodeUtils;public class Atest { @Testpublic void test(){String verifycode =VerifyCodeUtils.generateVerifyCode(8);System.out.println(verifycode);}@Test...

清原满族自治县13353564824: junit 参数化测试 用junit写一个测试,要测试的方法为SentenceParser(),可将一个英文句子,如"this is a book“,分解为4个单词"this""is""a""... -
漳底大安:[答案] String s = "this is a book"; String[] array = s.spilt(" "); int expectedNum = array.length;//期望出现的单词个数 .和你的测试函数测出来的个数比较就行

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网