Страницы

Поиск по вопросам

пятница, 13 марта 2020 г.

unit test как протестировать отдельные операции в методе

#java #юнит_тесты


Метод проверяет является ли елемент массива не буквенным символом

public static char[] checkLetterInWord(char[] checkWord, int firsLetter, int lastLetter){
        while(firsLetter


Ответы

Ответ 1



Перечитайте предыдущий ответ о том, какие должны быть тесты. Перечитав, хорошенько подумайте и составьте список тесткейсов для метода checkLetterInWord. Составив правильный список тесткейсов, вы поймете, что все ветки вашего метода уже покрыты тестами. Это работает именно так. Программист обычно не задается мыслью "протестировать вот этот кусок кода", особенно если код пишется в стиле TDD. Тестируется метод целиком, но под разными углами, так сказать. Отталкивайтесь от тесткейсов, пишите тесты, потом выполняйте и смотрите на покрытие метода. И если вдруг увидите, что какая-то ветка не покрыта, значит вы упустили какой-то тесткейс.

Ответ 2



Нет. Как вы себе представляете, можно обратиться к части метода из другого метода, исходя из специкации java? Правильный способ - это сразу писать так, чтобы было удобно тестировать. Пишите отдельный тест для каждого условия, а потом смотрите как можно можно завалить ваш код: бесконечный цикл, нулевые ссылки и т.д. И если это имеет смысл в рамках вашего приложения, для них тоже пишите тесты.

Комментариев нет:

Отправить комментарий