Стоит ли в каждом модуле при тестировании проверять на null?
Нужно ли в каждом модуле перед выполнением чего-либо проверять на null?
Недавно начал заниматься unit-тестами и как понимаю, что при этом типе тестирования - каждый тестируемый метод необходимо воспринимать как независимый модуль с перспективой на многочисленное использование.
У меня в проекте, как и в любом другом, есть цепочка вызовов с перебрасыванием определенных параметров для различной обработки. На одном из этапов идет проверка на null. В остальных классах идет обработка параметров, но без проверки.
Стоит ли в данном случае везде добавлять проверку?
Спасибо за уделенное время
Тестирование заключается в том, что вы подаете что-то на вход и ожидаете конкретный результат на выходе, пытаясь вводить такие входные параметры, которые активируют все участки кода (не одновременно конечно же)
Желательно писать тесты до кода, тогда у вас не будут возникать такие вопросы
sim3x, спасибо!
Что Вы в данном случае имеете ввиду под "функциональными тестами" и "черным ящиком"?
Если укажите, где об этом можно почитать поподробнее- буду очень
благодарен!
У вас есть готовый jar файл
Вы ему подаете на вход, то что указано в ТЗ
На выходе он вам должен отдать, то что написано в ТЗ
Вас не волнует содержимое или код
sim3x, кстати, когда Вы говорите про то, что необходимо проверить на все вызовы в методе- разве это не будет тестирвоанием написанной нами логики для моков? Если методы не большие, есть ли в этом смысл?
У вас уже готовый проект
Вам не нужны юнит тесты, о которых я говорил в первом коменте
Моки - отдельная тема
Смысл тестирования дать гарантии, что код не поламается после изменений, а если поламается, то ето будет видно сразу
Если ваши методы криво написаны и занимают 10 екранов, то да
Вам нужно исхитриться и найти такой набор параметров на вход, чтоб протестировать все ветвления