Начал вникать в unit test, потренировался на всяких простых арифметических операциях, все понятно.
Есть конкретный метод который меняет буквы в слове:
private static char[] exchangeCharInWord(char[] charArray, int first, int last ){
char tmp;
tmp=charArray[first];
charArray[first]=charArray[last];
charArray[last]=tmp;
return charArray;
}
никак не могу понять что мне здесь проверять.Вот начал писать...
public class TestMyClass {
@Test
public void test() {
MyClass c = new MyClass();
char[] word = {'h', 'e', 'l', 'o'};
int first = 0;
int last = word.length-1;
}
}
Ответ
Необходимо выделить возможные входные данные метода и результаты работы метода с этими данными. Например, такие тесты:
Тест метода на корректных данных (проверяем, что метод правильно меняет местами символы массива):
public void validInput_shouldSwap() {...}
Тест метода при отрицательных значениях индексов (индекса):
public void negativeIndex_shouldThrow() {...}
Тест метода, если индексы выходят за границы массива:
public void outOfBoundIndexValues_shouldThrow() {...}
В зависимости от реализации метода 2 и 3 тесты можно объединить в один.
Соответственно внутри каждого теста проверяете результаты работы метода с ожидаемыми.
Комментариев нет:
Отправить комментарий