Юнит в андроид - PullRequest
       50

Юнит в андроид

4 голосов
/ 03 ноября 2010

Я знаком с тестированием JUnit в Android. У меня вопрос, если мы используем калькулятор и хотим проверить операцию сложения ... Чтобы проверить операцию сложения, если мы используем большее количество тестовых случаев (например, 30). вместо 30-кратной перезаписи тестовых случаев, есть ли какой-нибудь общий способ сделать это или есть какой-либо способ взять тестовые примеры из листа Excel или файла XML ..?

Пожалуйста, дайте мне знать, есть ли лучший способ ...

Спасибо за продвижение

1 Ответ

1 голос
/ 24 ноября 2010

Вы можете уменьшить дублирующийся код, создав функцию и вызывая ее в каждом тесте 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))
...