Юнит-тестовете са мощен инструмент за разработчиците, за да гарантират качеството на кода си. Те ти позволяват да тествате функции изолирано и да се уверите, че те работят както е предвидено. В това ръководство ще ти покажа как да напишеш своя първи юнит-тест в Python. Ще научиш не само основите на юнит-тестинга, но и как да изградите тестовете си ефективно.
Най-важни изводи
- Юнит-тестовете помагат да се открият грешки рано и да се гарантира, че функциите ти работят както е предвидено.
- Библиотеката за Python unittest предлага лесен начин за имплементиране на тестове.
- Ефективните тестове обхващат както положителни, така и отрицателни сценарии и проверяват типовете данни на върнатите стойности.
Насоки стъпка по стъпка
Стъпка 1: Подготовка на проекта ти
Първо, ще ти трябва Python файл, в който е дефинирана твоята функция. В примера наричаме файла preisberechnung.py. Тук дефинираш функцията get_verkaufspreis, която взема покупната цена и добавя маржа.

Стъпка 2: Създай файл за своите юнит-тестове
След това създай нов файл, който ще съдържа тестовете за тази функция. Нека наречем този файл preisberechnung_test.py. Тук ще работиш с модула unittest.
За да използваш фреймуърка, го импортни в началото на файла си:

Стъпка 3: Дефинирай тестов клас
Тестов клас трябва да наследява unittest.TestCase. Това ти позволява да организираш всички тестове в структурирана форма. Преименувай класа на PreisberechnungTest, за да е ясно какво се тества.

Стъпка 4: Напиши своите тестове
Сега е времето да напишеш действителни тестове. Започни с тест, който проверява дали върнатата стойност от get_verkaufspreis има очаквания тип (float):

Стъпка 5: Тествай невалидни входове
Също така е важно да се тестват невалидни входове. Добави тест, който проверява дали функцията повдига изключение при невалидни входове, като None или низ:

Стъпка 6: Изпълни тестовете
За да извършиш тестовете, можеш да го направиш или чрез терминала, или директно в твоята IDE. Ако използваш терминала, изпълни следното:
В твоята IDE, като PyCharm, можеш да използваш конфигурацията за изпълнение, за да извършиш тестовете.

Стъпка 7: Провери резултатите
Ако успешно си провел тестовете, ще получиш изход, който показва дали всички тестове са преминали. Зеленият резултат означава, че кодът ти работи както е предвидено.
Стъпка 8: Разширяване на тестовете
В допълнение към основните тестове можеш да добавиш още релевантни сценарии, за да увеличиш сигурността на кода. Помни да тестваш както положителни, така и отрицателни случаи, за да осигуриш, че логиката ти работи при всички обстоятелства.

Резюме - Първи юнит-тест с Python: Основи и изпълнение
Писането на юнит-тестове е важна способност, която ти помага да направиш кода си надежден. В това ръководство научи как да напишеш първия юнит-тест в Python, от дефиницията на функцията до изпълнението и проверката на резултатите. Чрез подробни тестове значително ще подобриш поддръжката на кода си и ще откриеш проблеми рано.
Често задавани въпроси
Как да създам юнит-тест в Python?За да създадеш юнит-тест в Python, създай тестов клас, който наследява unittest.TestCase, и напиши тестовете като методи на този клас.
Защо трябва да пиша юнит-тестове?Юнит-тестовете помагат да се открият грешки рано и осигуряват, че функциите ти работят както е предвидено.
Как да изпълня юнит-тестове?Можеш да изпълняваш юнит-тестове чрез терминала с python -m unittest [име на файла] или директно в твоята IDE.
Какви са добри практики за юнит-тестове?Добра практика е да включваш както положителни, така и отрицателни тестови сценарии, както и проверка на типовете данни. Също така, редовността на изпълнение е важна, за да проверяваш измененията в кода незабавно.