С TDD хорошим способом оставаться в курсе является тестирование тестов, которые покрывают необходимое количество допустимых входов, еще нет кода, напишите как можно меньше кода, чтобы он прошел, а затем реорганизуйте этот код в нечто готовое к производству, наши тесты все еще проходят. Похоже, ты сделал это.
Тогда, с точки зрения недействительного тестирования ввода, я сомневаюсь, что выбор действительно должен быть бесконечным, и в некоторых случаях вы сможете достаточно хорошо проверить только несколько альтернативных входов/аргументов (например: для целочисленный ввод, тест, передающий нуль, отрицательные целые числа, массивы/переполняющие целые числа, символы).
Конечно, это требует времени для разработки и кодирования (даже если вы автоматизируете его, перебирая списки переменных и повторяя один и тот же тест с различными входами), и хотя это определенно стоит сделать, если вы хотите больше, вы всегда можете посмотреть на что-то вроде fuzz testing для дополнительного кусочка ума.
PS. Что касается тестирования API, я бы сосредоточился на создании тестовых запросов к открытым коллекциям/ресурсам API (которые можно было легко выполнить как единичные тесты с помощью тестового клиента Django), а также непосредственно выполнить тестирование любых нетривиальных методов, которые API использует в обложки. Получатели и сеттеры и т. Д. Затем должны быть неявно проверены функциями более высокого уровня. В теории: o)
Что значит точно? Написание тестов для бесконечных перестановок звучит как бесконечный цикл. –