JUnit的各种断言
来源:互联网 发布:网络计划图绘制软件 编辑:程序博客网 时间:2024/05/21 04:23
为什么需要单元测试
在开发软件的过程中,用户需要实际运行所编写的代码以确保程序的正确性。当软件变得越来越大,再去添加新的功能或做一些新的改动时,就很容易带来新的问题,甚至会使程序无法正常运行。然而要手动的运行代码,测试代码的可行性也是非常枯燥以及非常耗费时间的事情。
为了减少这种手动测试,可以通过创建单元测试来自动完成测试的工作。当修改代码或者添加新功能后,可以执行单元测试来保证代码运行无误。所有测试工作都是由单元测试自动完成的,开发人员所要做的就是停下来喝杯茶,看看程序的执行状态。
JUnit为我们提供了一些辅助函数,他们用来帮助我们确定被测试的方法是否按照预期的效果正常工作,通常,把这些辅助函数称为断言。下面我们来介绍一下JUnit的各种断言。
assertEquals
函数原型1:assertEquals([String message],expected,actual)
参数说明:
message是个可选的消息,假如提供,将会在发生错误时报告这个消息。
expected是期望值,通常都是用户指定的内容。
actual是被测试的代码返回的实际值。
例:assertEquals("equals","1","1");
函数原型2:assertEquals([String message],expected,actual,tolerance)
参数说明:
message是个可选的消息,假如提供,将会在发生错误时报告这个消息。
expected是期望值,通常都是用户指定的内容。
actual是被测试的代码返回的实际值。
tolerance是误差参数,参加比较的两个浮点数在这个误差之内则会被认为是
相等的。
例:assertEquals ("yes",5.8,11.0/2.0,0.5);
assertTrue
函数原型:assertTrue ([String message],Boolean condition)
参数说明:
message是个可选的消息,假如提供,将会在发生错误时报告这个消息。
condition是待验证的布尔型值。
该断言用来验证给定的布尔型值是否为真,假如结果为假,则验证失败。当然,更有验证为假的测试条件:
函数原型:assertFalse([String message],Boolean condition)
该断言用来验证给定的布尔型值是否为假,假如结果为真,则验证失败。
例:
assertTrue("true",1==1);
assertFalse("false",2==1);
assertNull
函数原型:assertNull([String message],Object object)
参数说明:
message是个可选的消息,假如提供,将会在发生错误时报告这个消息。 object是待验证的对象。
该断言用来验证给定的对象是否为null,假如不为null,则验证失败。相应地,还存在能够验证非null的断言:
函数原型:assertNotNull([String message],Object object)
该断言用来验证给定的对象是否为非null,假如为null,则验证失败。
例:assertNull("null",null);
assertNotNull("not null",new String());
assertSame
函数原型:assertSame ([String message], expected,actual)
参数说明:
message是个可选的消息,假如提供,将会在发生错误时报告这个消息。
expected是期望值。
actual是被测试的代码返回的实际值。
该断言用来验证expected参数和actual参数所引用的是否是同一个对象,假如不是,则验证失败。相应地,也存在验证不是同一个对象的断言:
函数原型:assertNotSame ([String message], expected,actual)
该断言用来验证expected参数和actual参数所引用的是否是不同对象,假如所引用的对象相同,则验证失败。
例:assertSame("same",2,4-2);
assertNotSame("not same",2,4-3);
Fail
函数原型:Fail([String message])
参数说明:
message是个可选的消息,假如提供,将会在发生错误时报告这个消息。
该断言会使测试立即失败,通常用在测试不能达到的分支上(如异常)。
参考:
http://dongbiying.iteye.com/blog/1002188
- JUnit的各种断言
- JUnit的各种断言
- JUnit的各种断言
- JUnit的各种断言
- JUnit的各种断言
- JUnit的各种断言
- JUnit的各种断言
- Junit的各种断言
- JUnit的各种断言
- JUnit的各种断言
- JUnit的各种断言
- JUnit的各种断言
- JUnit的各种断言
- java Junit的各种断言
- [zz]JUnit的各种断言
- Junit 中的各种断言
- jUnit 的断言
- Junit断言的学习
- 在Linux系统下安装steamCMD
- 七月算法强化学习 第四课 学习笔记
- Lambda在Android中的使用
- Windows下Oracle 11g的安装
- JZ2440 第11章 通用异步收发器UART
- JUnit的各种断言
- 转-为什么说SQL正在击败NoSQL,这对数据的未来意味着什么?
- 欢迎使用CSDN-markdown编辑器
- 卡尔曼滤波 从推导到应用(1)
- 《C++ Concurrency in Action》笔记31 测试及调试多线程应用程序
- Yii2 路由之同时支持 URL 原始和美化的请求 [ 2.0 版本 ]
- laravel5.2中多条件or查询
- java 语言程序设计 第十二章(12.1、12.2、12.3、12.4、12.5、12.6)
- java基础知识2 JDBC