JUnit 断言方法


JUnit 所提供的断言方法:

方法 说明
assertArrayEquals(expecteds, actuals) 查看两个数组是否相等。
assertEquals(expected, actual) 查看两个对象是否相等。类似于字符串比较使用的equals()方法。
assertNotEquals(first, second) 查看两个对象是否不相等。
assertNull(object) 查看对象是否为空。
assertNotNull(object) 查看对象是否不为空。
assertSame(expected, actual) 查看两个对象的引用是否相等。类似于使用“==”比较两个对象。
assertNotSame(unexpected, actual) 查看两个对象的引用是否不相等。类似于使用“!=”比较两个对象。
assertTrue(condition) 查看运行结果是否为true。
assertFalse(condition) 查看运行结果是否为false。
assertThat(actual, matcher) 查看实际值是否满足指定的条件。
fail() 让测试失败。

例子


关于断言方法,我们前面用得最多的是 assertEquals ,用于断言两个对象是否相等。这里再介绍一个 assertTrue 的使用。

创建 AssertTest 测试类(包了含被测试方法):

import org.junit.*;
import static org.junit.Assert.*;


public class AssertTest {

    /**
     * 判断一个数是否为素数
     */
    public static Boolean Prime(int n) {
        for (int i = 2; i < Math.sqrt(n); i++) {
            if (n % i == 0) {
                return false;
            }
        }
        return true;
    }

    @Test
    public void testPrime(){
        int n = 7;
        assertTrue(AssertTest.Prime(n));
    }

}

Prime() 方法用于判断一个数是否为素数(只能被1和它本身整除的数),并返回 True 或 False ,在测试用例中通过 assertTrue 来断言结果。