【junit】junit4单元测试eclipse

这两天看了网上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、测试多个类文件,在目录下,对整个测试文件夹右键,下面的测试文件都进行测试

posted @ 2018-01-12 15:47  灯芯人生路  阅读(283)  评论(0编辑  收藏  举报