Вы можете уменьшить дублирующийся код, создав функцию и вызывая ее в каждом тесте JUnit.Например:
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.
}
Что касается чтения огромного числа тестовых значений, вы не могли бы просто прочитать несколько строк целых чисел (представляющих добавляемые значения и ожидаемый результат, каждое значение разделяется пробелом иличто-то) из файла, а затем положить их через функцию testAdd (или эквивалентную), показанную выше?В псевдокоде это может выглядеть так:
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))