发表于: 2018-04-26 16:13:20

1 635


日期:4月26号

今天完成的事情:

①学习junit

先了解了一下junit注解和junit断言,知识点分别如下:

然后自己写一个需要测试的类(放在src\main\java文件夹下):

import java.util.Arrays;

public class FirstDayAtSchool {
   public String[] prepareMyBag(){
       String[] schoolbag={"Books","Notebooks","pens"};
       System.out.println("My school-bag contains:"+Arrays.toString(schoolbag));
       return schoolbag;
   }
   public String[] addPencils(){
       String[] schoolbag={"Books","Notebooks","pens","pencils"};
       System.out.println("My school-bag contains:"+Arrays.toString(schoolbag));
       return schoolbag;
   }
}

写一个测试类(放在srs\test\java文件夹下):

import org.junit.Test;

import static org.junit.Assert.assertArrayEquals;

public class FirstDayAtSchoolTest {
   FirstDayAtSchool school = new FirstDayAtSchool();
   String[] bag1 = {"Books", "Notebooks", "pens"};
   String[] bag2 = {"Books", "Notebooks", "pens", "pencils"};

   @Test
   public void testPrepareMyBag() {
       System.out.println("inside testPrepareMyBag()");
       assertArrayEquals(bag1, school.prepareMyBag());
   }

   @Test
   public void testAddPencils() {
       System.out.println("inside testAddPencils()");
       assertArrayEquals(bag2, school.addPencils());
   }
}

运行测试类:

inside testPrepareMyBag()

My school-bag contains:[Books, Notebooks, pens]

inside testAddPencils()

My school-bag contains:[Books, Notebooks, pens, pencils]

Process finished with exit code 0

测试结果正确,没有报错。

此时把bag2数组改成5条数据再运行:

报错说数组长度不相等,我们期望比较的数组长度是5,而实际长度只有4!

此时,使用Ignore把testAddPencils方法注解的掉,再运行:

inside testPrepareMyBag()

My school-bag contains:[Books, Notebooks, pens]

虽然testAddPencils方法里,我们期望比较的数组长度是5,而实际长度只有4,但是我注解掉了这个方法,让他不运行,测试结果没报错!

然后练习使用测试套,希望同时运行多个测试类。

把刚刚的测试方法分别写在两个测试类里面:

import org.junit.Test;

import static org.junit.Assert.assertArrayEquals;

public class PrepareMyBagTest {
   FirstDayAtSchool school = new FirstDayAtSchool();
   String[] bag1 = {"Books", "Notebooks", "pens"};

   @Test
   public void testPrepareMyBag() {
       System.out.println("inside testPrepareMyBag()");
       assertArrayEquals(bag1, school.prepareMyBag());
   }

}
import org.junit.Test;

import static org.junit.Assert.assertArrayEquals;

public class AddPencilsTest {
   FirstDayAtSchool school = new FirstDayAtSchool();
   String[] bag2 = {"Books", "Notebooks", "pens", "pencils"};

   @Test
   public void testAddPencils() {
       System.out.println("inside testAddPencils()");
       assertArrayEquals(bag2, school.addPencils());
   }
}

然后另外写个测试类,让他运行上面两个测试类:

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({AddPencilsTest.class,PrepareMyBagTest.class})
public class SuiteTest {
}

运行结果正常,这个测试套可以同时运行上面写的两个测试类!同理可以运行3个、4个。。。


返回列表 返回列表
评论

    分享到