发表于: 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个。。。
评论