文章目录
导入JUnit的包
右键点击java项目→Build Path → Configure Build Path
Add Library → JUnit
选择Junit的版本→ Finish → Apply and close
新建一个Junit测试类
在java包上点击右键→New→Other(讲道理熟悉了以后,直接new一个普通的class,再自己导入junit包和这个操作也是一样的)
选择Junit Test Case
给测试类取名,选择class under test
点击Finish
测试用例
//insert():
//测试策略
//插入标签在时间集合中(非法插入);
//插入标签不在集合中:插入时间不合法(end < start);插入时间合法(合法插入)
@Test
public void testInsert() {
IntervalSet<Employee> iset = emptyInstance(20210101, 20210305);
long start = 20210101;
long end = 20210203;
Employee label1 = new Employee("a", "manager", 18846451368L);
Employee label2 = new Employee("b", "worker", 16548751663L);
assertTrue(iset.insert(start, end, label1));//合法插入
assertTrue(iset.labels().contains(label1));
System.out.println("预期插入出错测试方法:testInsert()");
assertFalse(iset.insert(start+1, end+1, label1));//标签重复
assertFalse(iset.insert(end, start, label2));//插入时间不合法,起始时间>终止时间
}
- 先写
测试策略
(划分等价类,或者用边界值分析的思想) - 测试方法前用
@Test
标注 - 使用
assertTrue(),assertFalse(),assertEquals(预期值,测试值)
等方法对结果进行测试 - 需要测试抛出异常的方法,
@Test(expected=xxx异常.class)
@Test(expected = IntervalBlankException.class)
public void testBlank() throws IntervalBlankException {
long pstart = 20210110L;
long pend = 20210306L;
DutyIntervalSet diset = new DutyIntervalSet(new CommonIntervalSet1<Employee>(pstart, pend));
Employee a = new Employee("ZhangSan", "Manager", 13904510000L);
diset.insert(20210112L, 20210131L, a);
diset.checkifBlank();//预期结果:调用checkifBlank方法抛出IntervalBlankException的异常
}
运行测试类
右键点击测试类 → Run As → JUnit Test
绿色表示测试通过,如果是红色或者蓝色则测试失败,需要根据报错提示对源代码修改。