py.user.nextЭто не надуманно, иначе не было бы такой большой области в IT, как тестирование. Которым занимаются специально обученные люди.
это надуманно;
py.user.nextЕсть такое понятие, как покрытие, его можно оценивать относительно чего-то(кода, требований), т.е. метрика получается. Когда ты берёшься писать тесты, ты можешь написать 5, а можешь 1000, а как понять что, тестов мало или уже много? Один человек может написать 1000 тестов, а другой всего 15, и его 15 тестов дадут покрытие лучше чем 1000 другого. Потому что он знал, какие тесты нужно составлять и когда нужно остановиться, тем самым он сэкономил время и уверен в покрытии. Тест-дизайн это техники придумывания тестов, которые помогают тебе составить минимальное количество тестов, которые обеспечивают максимальное покрытие.
есть, вообще, общие правила
py.user.nextюнит тесты Python это лишь инструмент, тесты всё равно придумывает человек
летом прошёл юнит-тесты в питоне наполовину
py.user.next
а вообще, сначала пишешь всё в одном тесте, проверяешь всё подряд; как написал, смотришь, как их можно сгруппировать, группируешь строки; как сгруппировал, разделяешь тест на отдельные тесты - так вырабатываешь свой стиль
Вообще сначала смотришь на требования, по ним создаёшь классы эквивалентности(конкретное количество зависит от желаемого покрытия), потом по ним пишешь тесты проходясь по каждому классу, хотя бы раз, и в итоге у тебя получается минимальный набор с хорошим покрытием.(для юнит-тестирования вполне достаточно)
py.user.nextРазделение тестирования по степени позитивности
я пока разделяю их на хороший ввод, плохой ввод
py.user.nextКак раз для этого и пишутся юнит-тесты. Чтобы подать на вход и посмотреть на выход
не, я не считаю, что для этого надо писать тест
А отклонение фактического результата от ожидаемого, это просто определение бага.
py.user.nextНе надо, я особо не проверял, то что написал :) просто хотел написать
(у тебя там много букв и медленные проверки на исключения), хотя… может, написать?..
py.user.nextНу этого мы не знаем :) у bismigalis чётко реализовано, по крайней мере с виду.
а раз там есть диапазоны, то точно не к числам
py.user.nextСпасибо за совет :) там конечно можно без них обойтись
лучше исключения не юзай, они медленные и в данном случае без них можно обойтись
Но когда их надо использовать их надо использовать, даже если они медленные
.