多语言展示
当前在线:218今日阅读:26今日分享:39

Junit单元测试中Assert断言的使用

在软件开发过程中,通常需要测试新开发和修改的功能,如果采用直接启动整个工程的方法测试,会导致测试效率低下。通过编写单元测试可以轻松实现测试驱动开发。如果在测试过程中要判断某一时刻程序运行的值和预期的值是否一致时,就要用到断言了。
工具/原料

Eclipse Oxygen Release (4.7.0)

方法/步骤
1

Junit测试框架中Assert类就是实现断言的工具,主要作用如下:单元测试用于判断某个特定条件下某个方法的行为;执行单元测试为了证明某段代码的执行结果和期望的一致,下面介绍Junit测试库中几种常用的断言。

2

assertEquals(expected, actual):查看两个对象是否相等。类似于字符串比较使用的equals()方法;assertNotEquals(first, second):查看两个对象是否不相等。expected为用户期望某一时刻对象的值,actual为某一时刻对象实际的值。如果这两值相等的话(通过对象的equals方法比较),说明代码运行是正确的。

3

assertNull(object):查看对象是否为空。assertNotNull(object):查看对象是否不为空。

4

assertSame(expected, actual):查看两个对象的引用是否相等,类似于使用“==”比较两个对象;assertNotSame(unexpected, actual):查看两个对象的引用是否不相等,类似于使用“!=”比较两个对象。

5

assertTrue(String message, boolean condition) 要求condition == true,查看运行的结果是否为true;assertFalse(String message, boolean condition) 要求condition == false,查看运行的结果是否为false。以判断某个条件是真还是假,如果和预期的值相同则测试成功,否则测试失败。

6

assertArrayEquals(String message, XXX[] expecteds,XXX [] actuals) 要求expected.equalsArray(actual),即查看两个数组是否相等。

7

assertThat(String reason, T actual, Matcher matcher) :要求matcher.matches(actual) == true,使用Matcher做自定义的校验。

8

fail:能使测试立即失败,这种断言通常用于标记某个不应该被到达的分支。通常用于测试在应该抛出异常的时候确实会抛出异常。

注意事项

注意导包为静态导入:import static org.junit.Assert.*; import static org.hamcrest.CoreMatchers.*;

推荐信息