私は比較的単純なクラスのいくつかの単体テストを書いています:
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) { //... }
}
これら2つの関数の単体テストでは、null値を渡した場合に何が起こるかを判断します。
@Test
public void addGuardNullValue() {
asylum.addGuard(null);
assertEquals(0, asylum.getNumGuards());
}
@Test
public void addInmateNullValue() {
asylum.addInmate(null);
assertEquals(0, asylum.getNumInmates());
}
私は実際にこれらの警備員、囚人、監視員などのコンテナをいくつか(> 3)持っていますが、基本的にすべてのクラスで同じ単体テストを作成することはしたくありません。
これを1つのユニットテストにまとめて、 n個のクラスをカバーする方法はありますか?
(GuardとInmateの包括的な親クラスを作成できず、両方が実装できるインターフェイスを作成できないことに注意してください。)