JUnit学习总结——断言
JUnit是Java语言的测试框架,用于编写和运行可重复的测试。为了便于确定某些被测试函数是否工作正常,JUnit提供了一些辅助函数,这些函数统称为断言。最近学习JUnit,特将全部JUnit断言整理了一下,方便自己回顾也算是为以后的新人提供一些参考。
1. assertTrue
static public void assertTrue(String message, boolean condition)
static public void assertTrue(boolean condition)
assertTrue验证condition是否为true。若为true则断言成功;若为false则断言失败,提供message时输出message消息。
2. assertFalse
static public void assertFalse(String message, boolean condition)
static public void assertFalse(boolean condition)
assertfalse验证condition是否为false。若为false则断言成功;若为true则断言失败,提供message时输出message消息。
3. fail
static public void fail(String message)
static public void fail()
fail会使测试立即失败,提供message时输出message消息。
4. assertEquals
static public void assertEquals(String message, Object expected, Object actual)
static public void assertEquals(Object expected, Object actual)
static public void assertEquals(String message, long expected, long actual)
static public void assertEquals(long expected, long actual)
assertEquals验证expected和actual是否相等。若相等则断言成功;若不相等则断言失败,提供message时输出message消息。当expected和actual均为null时,assertEquals认为二者相等。
static public void assertEquals(String message, double expected, double actual, double delta)
static public void assertEquals(double expected, double actual, double delta)
assertEquals验证双精度数(或单精度数)expected和actual在正误差delta范围内是否相等(Math.abs(expected – actual) <= delta)。若相等则断言成功;若不相等则断言失败,提供message时输出message消息。如果expected值为无穷大,则delta值被忽略。NaN被认为是相等的。
5. assertArrayEquals
public static void assertArrayEquals(String message, Object[] expecteds, Object[] actuals)
public static void assertArrayEquals(Object[] expecteds, Object[] actuals)
public static void assertArrayEquals(String message, byte[] expecteds, byte[] actuals)
public static void assertArrayEquals(byte[] expecteds, byte[] actuals)
public static void assertArrayEquals(String message, char[] expecteds, char[] actuals)
public static void assertArrayEquals(char[] expecteds, char[] actuals)
public static void assertArrayEquals(String message, short[] expecteds, short[] actuals)
public static void assertArrayEquals(short[] expecteds, short[] actuals)
public static void assertArrayEquals(String message, int[] expecteds, int[] actuals)
public static void assertArrayEquals(int[] expecteds, int[] actuals)
public static void assertArrayEquals(String message, long[] expecteds, long[] actuals)
public static void assertArrayEquals(long[] expecteds, long[] actuals)
public static void assertArrayEquals(String message, double[] expecteds, double[] actuals, double delta)
public static void assertArrayEquals(double[] expecteds, double[] actuals, double delta)
public static void assertArrayEquals(String message, float[] expecteds, float[] actuals, float delta)
public static void assertArrayEquals(float[] expecteds, float[] actuals, float delta)
assertArrayEquals验证两个数组expecteds和actuals是否相等。若相等则断言成功;若不相等则断言失败,提供message时输出message消息。当expecteds和actuals均为null时,assertArrayEquals认为二者相等。
6. assertNotNull
static public void assertNotNull(String message, Object object)
static public void assertNotNull(Object object)
assertNotNull验证对象object是否非空。若非空,则断言成功;若为空,则断言失败,提供message时输出message消息。
7. assertNull
static public void assertNull(String message, Object object)
static public void assertNull(Object object)
assertNull验证对象object是否为空。若为空,则断言成功;若非空,则断言失败,提供message时输出message消息。
8. assertSame
static public void assertSame(String message, Object expected, Object actual)
static public void assertSame(Object expected, Object actual)
assertSame验证expected和actual所引用的是否是同一对象。若相同,则断言成功;若不同,则断言失败,提供message时输出message消息。
9. assertNotSame
static public void assertNotSame(String message, Object unexpected, Object actual)
static public void assertNotSame(Object unexpected, Object actual)
assertSame验证unexpected和actual所引用的是否是不同对象。若不同,则断言成功;若相同,则断言失败,提供message时输出message消息。
10. assertThat
public static <T> void assertThat(T actual, Matcher<T> matcher)
public static <T> void assertThat(String reason, T actual, Matcher<T> matcher)
assertThat验证actual是否满足matcher给出的条件。若满足则断言成功;若不满足则断言失败,提供reason时输出reason消息。assertThat使用Hamcrest测试框架,结合Hamcrest提供的匹配符,指定想要设置的测试条件。其中actual为需要测试的变量,matcher为使用Hamcrest的匹配符来表达变量actual期望值的声明。