Junit测试技术 第二次作业

unit单元测试

一:Junit是什么?

Junit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sunit的xunit家族中最为成功的一个。 Junit有它自己的Junit扩展生态圈。多数Java的开发环境都已经集成了Junit作为单元测试的工具。

Junit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何完成功能和完成什么样的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。

二:单元测试

单元测试:是针对一个独立的工作单元进行正确性验证的测试。有时也被称为程序员测试,以同QA测试、客户测试相区分。java的单元测试:在Java程序中,一个工作单元通常是指一个方法,那么也就是对一个方法进行测试。Junit:是一个单元测试框架,方便程序员进行单元测试代码的编写。

三:Junit框架中的几个对象类

(1) TestCase抽象类——定义测试中固定方法 

1.TestCase是Test接口的抽象实现,其构造函数TestCase根据输入的测试名称name创建一个测试实例。由于每一个TestCase在创建时都要有一个名称,若某测试失败了,便可识别出是哪个测试失败。  

2.TestCase类中包含的setup()、tearDown()方法。setUp()方法集中初始化测试所需的所有变量和实例,并且在依次调用测试类中的每个测试方法之前再次执行setUp()方法。tearDown()方法则是在每个测试方法之后,释放测试程序方法中引用的变量和实例。  

3.开发人员编写测试用例时,只需继承TestCase,来完成run方法即可,然后Junit获得测试用例,执行它的run方法,把测试结果记录在TestResult之中。

(2)Assert静态类——一系列断言方法的集合 

1. Assert包含了一组静态的测试方法,用于期望值和实际值比对是否正确,即测试失败,Assert类就会抛出一个AssertionFailedError异常,Junit测试框架将这种错误归入Failes并加以记录,同时标志为未通过测试。如果该类方法中指定一个String类型的传参则该参数将被做为AssertionFailedError异常的标识信息,告诉测试人员改异常的详细信息。  

2. Junit 提供了6大类31组断言方法,包括基础断言、数字断言、字符断言、布尔断言、对象断言。  

3. 其中assertEquals内部逻辑判断使用equals()方法,这表明断言两个实例的内部哈希值是否相等时,最好使用该方法对相应类实例的值进行比较。而assertSame内部逻辑判断使用了Java运算符“==”,这表明该断言判断两个实例是否来自于同一个引用,最好使用该方法对不同类的实例的值进行比对。asserEquals该方法对两个字符串进行逻辑比对,如果不匹配则显示着两个字符串有差异的地方。ComparisonFailure类提供两个字符串的比对,不匹配则给出详细的差异字符。

四、JUnit测试技术存在的缺陷

仅支持同步的测试.要懂得java或者C++语言,同时没有办法检查抛出异常的信息。

五、结论

单元测试是非常有必要的,有助于对自己的代码质量以及编码能力,JUnit框架中的对象类来实现这个需求,则简化测试人员的操作便利。

猜你喜欢

转载自www.cnblogs.com/liuxiang666/p/10593099.html