什么是 Assert(断言)和如何开始使用

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 了。