这两天看了网上down下来的junit视频,有百度了一下junit。
一、百度junit,在github上发布的都是5了,没有看到4的影子了,我在eclipse的maven加载了最新的5.0.2,发现效果并不理想。
不理想原因:1、可能自己基础太差,不会用;
2、可能是我的eclipse不支持junit5(我也不知道),反正建立测试文件的时候,eclipse只能选择3或者4;
二、视频中推荐组合:junit4.11、hamcrest-core-1.3、hamcrest-library-1.3,maven引入jar包,如图
三、创建测试类:
说明:1、eclipse提供版本3、版本4,选择版本4;
2、为那个类文件建立测试类,就在该类文件名后加Test;
3、最下面选择对应的目标类文件,下一步之后选择该类文件中具体的类方法,下面是我为T1、T2文件建立的测试文件,如图
四、测试类方法说明
public class T2Test {
@BeforeClass//该测试文件只打印一次
public static void BeforeClass() {
System.out.println("第一个beforeClass");
}
@AfterClass//该测试文件只打印一次
public static void AfterClass() {
System.out.println("第一个afterClass");
}
@Before//每个方法前只打印一次
public void Before() {
System.out.println("第一个before");
}
@After//每个方法后只打印一次
public void After() {
System.out.println("第一个after");
}
@Test
public void testStrShow() {
String str = new T2().strShow();
String st = "dd";
System.out.println(st);
assertThat(str, is("hello"));
assertThat(str, not("hellot"));
assertThat(str, containsString("he"));
assertThat(str, endsWith("llo"));
assertThat(str, startsWith("he"));
assertThat(5, equalTo(str.length()));
assertThat(str, equalToIgnoringCase("hEllo"));
assertThat(st, equalToIgnoringWhiteSpace(" dd "));//忽略开头、结尾的空格
}
@Test
public void testMap() {
Map<String, Object> map = new T2().map();
List<String> list = new ArrayList<>();
list.add("id");
System.out.println("map");
assertThat(map, hasEntry("id", "wg"));
assertThat(list, hasItem("id"));
assertThat(map, hasKey("id"));
assertThat(map, hasValue("wg"));
}
}
五、运行
分为三种:1、单个类方法进行测试,在工程目录测试类文件下的测试类方法右键,测试单个方法;
2、测试整个类文件,在目录下测试文件下右键,或者在打开的类文件下右键;
3、测试多个类文件,在目录下,对整个测试文件夹右键,下面的测试文件都进行测试