Assert类中主要方法如下:
方法名 | 方法描述 |
assertEquals | 断言传入的预期值与实际值是相等的 |
assertNotEquals | 断言传入的预期值与实际值是不相等的 |
assertArrayEquals | 断言传入的预期数组与实际数组是相等的 |
assertNull | 断言传入的对象是为空 |
assertNotNull | 断言传入的对象是不为空 |
assertTrue | 断言条件为真 |
assertFalse | 断言条件为假 |
assertSame | 断言两个对象引用同一个对象,相当于“==” |
assertNotSame | 断言两个对象引用不同的对象,相当于“!=” |
assertThat | 断言实际值是否满足指定的条件 |
JUnit 中的常用注解:
注解名 | 含义 |
@Test | 表示此方法为测试方法 |
@Before | 在每个测试方法前执行,可做初始化操作 |
@After | 在每个测试方法后执行,可做释放资源操作 |
@Ignore | 忽略的测试方法 |
@BeforeClass | 在类中所有方法前运行。此注解修饰的方法必须是static void |
@AfterClass | 在类中最后运行。此注解修饰的方法必须是static void |
@RunWith | 指定该测试类使用某个运行器 |
@Parameters | 指定测试类的测试数据集合 |
@Rule | 重新制定测试类中方法的行为 |
@FixMethodOrder | 指定测试类中方法的执行顺序 |
常用的匹配器整理:
匹配器 | 说明 | 例子 |
is | 断言参数等于后面给出的匹配表达式 | assertThat(5, is (5)); |
not | 断言参数不等于后面给出的匹配表达式 | assertThat(5, not(6)); |
equalTo | 断言参数相等 | assertThat(30, equalTo(30)); |
equalToIgnoringCase | 断言字符串相等忽略大小写 | assertThat(“Ab”, equalToIgnoringCase(“ab”)); |
containsString | 断言字符串包含某字符串 | assertThat(“abc”, containsString(“bc”)); |
startsWith | 断言字符串以某字符串开始 | assertThat(“abc”, startsWith(“a”)); |
endsWith | 断言字符串以某字符串结束 | assertThat(“abc”, endsWith(“c”)); |
nullValue | 断言参数的值为null | assertThat(null, nullValue()); |
notNullValue | 断言参数的值不为null | assertThat(“abc”, notNullValue()); |
greaterThan | 断言参数大于 | assertThat(4, greaterThan(3)); |
lessThan | 断言参数小于 | assertThat(4, lessThan(6)); |
greaterThanOrEqualTo | 断言参数大于等于 | assertThat(4, greaterThanOrEqualTo(3)); |
lessThanOrEqualTo | 断言参数小于等于 | assertThat(4, lessThanOrEqualTo(6)); |
closeTo | 断言浮点型数在某一范围内 | assertThat(4.0, closeTo(2.6, 4.3)); |
allOf | 断言符合所有条件,相当于&& | assertThat(4,allOf(greaterThan(3), lessThan(6))); |
anyOf | 断言符合某一条件,相当于或 | assertThat(4,anyOf(greaterThan(9), lessThan(6))); |
hasKey | 断言Map集合含有此键 | assertThat(map, hasKey(“key”)); |
hasValue | 断言Map集合含有此值 | assertThat(map, hasValue(value)); |
hasItem | 断言迭代对象含有此元素 | assertThat(list, hasItem(element)); |