パラメータ化されたテストは、テストに使用するために異なるデータを持つことをお勧めします。しかし、私はパラメータ化されたテストを作成したいサンプルの電卓を作成しました。しかし、私はあなたが1つのテストのために1セットのパラメータ化されたデータを作成することができることを発見しました。複数のテストでパラメータ化されたjunitテスト
2つの数値に期待される結果を追加するためのパラメータ化テストを作成しました。期待される結果が異なるため、このデータは減算では機能しません。
加算、減算、乗算、除算の各テストでパラメータ化されたデータを使用できますか?任意の提案のための
多くのおかげで、JUnitの4で
@RunWith(Parameterized.class)
public class CalculatorModelPresenterTest {
private CalculatorModel mCalculatorModel;
/* Array of tests */
@Parameterized.Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][]{
{3.0, 4.0, 7.0},
{4.0, 3.0, 7.0},
{8.0, 2.0, 10.0},
{-1.0, 4.0, 3.0},
{3256.0, 4.0, 3260.0}
});
}
private double mNumberOne;
private double mNumberTwo;
private double mExpectedResult;
/* CONSTRUCTOR THAT ASSIGNS THE FIELDS WITH THE TEST DATA */
public CalculatorModelPresenterTest(double numberOne, double numberTwo, double expectedResult) {
mNumberOne = numberOne;
mNumberTwo = numberTwo;
mExpectedResult = expectedResult;
}
/* THIS TEST WILL PASS AS THE TEST DATA IS FOR ADDING */
@Test
public void testAdd() throws Exception {
final double actualResult = mCalculatorModel.add(mNumberOne, mNumberTwo);
assertEquals(actualResult, mExpectedResult, 0);
}
/* HOWEVER, THIS TEST WILL ALWAYS FAIL AS THE TEST DATA IS CUSTOMIZED FOR THE ADD */
@Test
public void testSub() throws Exception {
final double actualResult = mCalculatorModel.sub(mNumberOne, mNumberTwo);
assertEquals(actualResult, mExpectedResult, 0);
}
@Before
public void setUp() throws Exception {
mCalculatorModel = new CalculatorModel();
}
@After
public void tearDown() throws Exception {
mCalculatorModel = null;
}
}
あなたは' tearDown'方法でnull'なので 'に' mCalculatorModel'を設定する必要はありません。 –