Vous pouvez réduire le code en double en faisant fonction et de l'appeler dans chaque test JUnit. Par exemple:
public void test_add_zeroPlusZero()
{
Assert.assertTrue("Failed on 0+0.", testAdd(new int[] {0,0}),0);
}
private boolean testAdd(int[] values, int expectedValue)
{
// Try to add.
// If adding fails, return false.
// If adding succeeds, return true.
}
En ce qui concerne la lecture dans un très grand nombre de valeurs de test, vous ne pourriez pas lire seulement dans plusieurs lignes de nombres entiers (représentant les valeurs à ajouter et le résultat attendu, chaque valeur séparée par un espace ou quelque chose) à partir du fichier, puis les mettre à travers la fonction testAdd (ou équivalent) montré ci-dessus? En pseudocode, cela peut ressembler à:
public void test_add_from_file()
File testValueFile = get file with test values()
while ((nextLine = testValueFile.readLine) != END_OF_FILE)
int[] values = parse values from nextLine
int expectedValue = parse expected value from nextLine
Assert.assertTrue("Couldn't add the following values: " + values, testAdd(values, expectedValue))