assertion(断言) 在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。
在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,assert将给出警告或退出。
一般来说,assertion用于保证程序最基本、关键的正确性。
assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。
在 Java中,使用 assert 关键字来实现断言。 语句 assert x >= 0; 即为断言,断言条件 x >= 0 预期为 true 。
package net.hawebs.oss;
/**
* HAWEBS.NET 测试代码
*
* HA WEBSYSTEMS (罕布什尔信息技术有限公司)
*
* [email protected]
*
* @author YUCHENGHU
*
*/
public class Hawebs {
/**
*
* @param args
*/
public static void main(String[] args) {
int i = 0;
for (i = 0; i < 5; i++) {
System.out.println(i);
}
// 假设程序不小心多了一句--i;
--i;
assert i == 5;
}
}
如上图显示的断言输出。
JUnit 版本断言
最简单的,你可以使用 Junit 提供的断言,但是很不幸这个断言实际上并不非常好用。
我们会使用其他一些断言框架,目前用得最多的就是 AssertJ 了。