Junit 的 测试方法 assertThat 示例
assertThat方法需要引入三个jar包(junit4-4.8.2.jar,hamcrest-library-1.3.jar,hamcrest-core-1.3.jar)
不同的版本用到的jar包的版本不同,assertThat方法是junit 4 之后引入的
/**
* @author KerYang
*
*/
package com.keryang.junit.instance.junittest;
import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
//assertThat(),方法需要以下类中的方法
import static org.hamcrest.Matchers.*;
import org.junit.Test;
public class assertThatTest {
@Test
public void test() {
// fail("Not yet implemented");
// 方法结果值 res 是否大于5,小于7
int res = 7;
assertThat(res, allOf(greaterThan(5), lessThan(9)));
// 方法结果值 res 是否满足 大于16 或者 小于 8 中的一个
assertThat(res, anyOf(greaterThan(16), lessThan(8)));
// 方法结果值 str 可以为任何值
String str = null;
assertThat(str, anything());
// 方法结果值 str 不是 "keryang"
assertThat(str, not("keryang"));
// 方法结果值 str 的值是否是 "keryang"
str = "keryang";
assertThat(str, is("keryang"));
// 方法结果值 str 中是否包含字符串 "keryang"
assertThat(str, containsString("keryang"));
// 方法结果值 str 是否以字符串 "keryang" 结尾
assertThat(str, endsWith("keryang"));
// 方法结果值 str 是否以字符串 "keryang" 开头
assertThat(str, startsWith("keryang"));
// 方法结果值 str 是否等于 "keryang"
assertThat(str, equalTo("keryang"));
// 方法结果值 str 忽略大小写是否等于 "keryang"
str = "keryang";
assertThat( str, equalToIgnoringCase("keryang"));
// 方法结果值 str 忽略两端的空白字符 <只能是两端的空白字符> 是否等于 "keryang"
str = " keryang ";
assertThat( str, equalToIgnoringWhiteSpace("keryang"));
// 方法结果值 d 接近5.0, 误差允许范围0.3, 即 4.7 <= d <= 5.3
double d = 5.3;
assertThat(d, closeTo (5.0, 0.3));
// 方法结果值 d 大于3.0
assertThat(d, greaterThan(3.0));
// 方法结果值小于 10.0
assertThat(d, lessThan (10.0));
// 方法结果值大于或者等于 5.0
assertThat(d, greaterThanOrEqualTo (5.0));
// 方法结果值小于或者等于 5.0
assertThat(d, lessThanOrEqualTo (16.0));
//
Map<String, String> map = new HashMap<String, String>();
map.put("keryang", "keryang");
map.put("ker", "yang");
// 方法结果值 map 的 键集合 中是否包含键 "keryang"
assertThat( map, hasKey ("keryang"));
// 方法结果值 map 的 值集合 中是否包含值 "keryang"
assertThat( map, hasValue ("keryang"));
// 方法结果值 map 中是否包含键值对 {"keryang", "keryang"}
assertThat( map, hasEntry("keryang", "keryang"));
List<String> list = new ArrayList<String>();
list.add("list");
list.add("keryang");
// 结果值 list 中是否包含 "keryang"
assertThat( list, hasItem ( "keryang" ) );
}
}