Кроме того, где вы собираетесь получить недопустимые значения? Ну, пользовательский ввод или путем преобразования строк в числа. Но в этих случаях именно процедуры преобразования должны выполнять проверки и давать обратную связь о том, являются ли значения действительными или нет. Значения должны быть гарантированно действительными задолго до того, как они приблизятся
аюсь использовать TDD для моей практики кодирования. Я хотел бы спросить, нужно ли мне проверять данные, которых не должно быть в функции, НО эти данные могут повредить вашу программу.
Вот один из простых примеров, иллюстрирующих то, что я спрашиваю:
функция ROBOT, имеющая один параметр INT. В этой функции я знаю, что допустимый диапазон будет только 0-100. Если используется -1, 101, функция будет прервана.
function ROBOT (int num){
...
...
...
return result;
}
Поэтому я решил несколько автоматических тестов для этой функции ...
1. function ROBOT with input argument 0
2. function ROBOT with input argument 1
3. function ROBOT with input argument 10
4. function ROBOT with input argument 100
Но я должен написать контрольные примеры с входным аргументом -1 или 101 для этой функции ROBOT, ЕСЛИ я бы защитил это в моей другой функции, которая вызывает функцию ROBOT ???
5. function ROBOT with input argument -1
6. function ROBOT with input argument 101
Я не знаю, если это необходимо, потому что я думаю, что это избыточность для тестирования -1 и 101. И если действительно необходимо охватить все случаи, я должен написать больше кода для защиты -1 и 101.
Итак, в обычной практике TDD, вы будете писать контрольные примеры на -1 и 101?