グリッドを持つアプリケーションで作業しており、グリッドの一部のポイントのみが有効と見なされます。考えられるすべてのグリッド値、または少なくともすべての境界点を使用して、これを広範囲にテストする必要があります。
パラメータ化されたテストを試しました。ポイントの後にデータが管理不能になるという事実を期待して、それはうまく機能します。3x3 グリッドのサンプル テストを以下に示します。
@RunWith(Parameterized.class)
public class GridGameTest {
@Parameters
public static Collection<Object[]> data(){
return Arrays.asList(new Object[][] {
{ 0, 0, false }, { 0, 1, false }, { 0, 2, false },
{ 1, 0, false }, { 1, 1, true }, { 1, 2, false },
{ 2, 0, false }, { 2, 1, false }, { 2, 2, false }
} );
}
private final int x;
private final int y;
private final boolean isValid;
public GridGameTest(int x, int y, boolean isValid){
this.x = x;
this.y = y;
this.isValid = isValid;
}
@Test
public void testParameterizedInput(){
Grid grid = new Grid(3,3);
assertEquals(isValid, grid.isPointValid(new Point(x,y)));
}
}
私のテストがシンプルで読みやすいままになるように、データをグループ化/管理する方法に関する入力はありますか??