我有一个内部使用二维数组的类,并公开了一个 processItem(int i,int j) 方法,如下所示。该方法使用基于 1 的索引并具有一个构造函数,该构造函数将一个 int 值(例如 N)作为 2D 数组大小。因此,对于 N=10,i 和 j 的值应该是 1 到 N 。如果在 i 或 j 小于 1 或大于 10 时调用该方法,该方法将抛出 IndexOutOfBoundsException 。
在我的单元测试中,我想用 i,j 值调用该方法
(0,4),(11,3),(3,0),(3,11)
这些调用应该抛出 IndexOutOfBoundsException
如何组织测试,我是否必须为每个 i,j 对编写 1 个单独的测试?或者有没有更好的方法来组织它们?
class MyTest{
MyTestObj testobj;
public MyTest(){
testobj = new MyTestObj(10);
}
@Test(expected=IndexOutOfBoundsException.class)
public void test1(){
testobj.processItem(0,4);
}
@Test(expected=IndexOutOfBoundsException.class)
public void test2(){
testobj.processItem(11,3);
}
@Test(expected=IndexOutOfBoundsException.class)
public void test3(){
testobj.processItem(3,0);
}
@Test(expected=IndexOutOfBoundsException.class)
public void test4(){
testobj.processItem(3,11);
}
..
}