我正在为一个相对简单的类编写一些单元测试:
public class Asylum {
List<Guard> guards = new ArrayList<Guard>();
List<Inmate> inmates = new ArrayList<Inmate>();
public void addGuard(Guard g) { //... }
public void addInmate(Inmate i) { //... }
}
我对这两个函数的单元测试确定了如果我传入一个空值会发生什么:
@Test
public void addGuardNullValue() {
asylum.addGuard(null);
assertEquals(0, asylum.getNumGuards());
}
@Test
public void addInmateNullValue() {
asylum.addInmate(null);
assertEquals(0, asylum.getNumInmates());
}
实际上,我有几个(> 3)这些警卫、囚犯、监狱长等容器,但我宁愿不为他们的所有班级编写基本相同的单元测试。
有什么办法可以把它归结为一个单元测试来覆盖n 个类?
(请注意,我无法为 Guard 和 Inmate 创建一个总体父类,也无法创建他们都可以实现的接口。)