Юніт-тести - це потужний інструмент для розробників для забезпечення якості коду. Вони дозволяють ізольовано тестувати функції і переконатися, що вони працюють за призначенням. У цьому посібнику я покажу вам, як написати свій перший юніт-тест на Python. Ви не тільки вивчите основи модульного тестування, але й навчитеся ефективно налаштовувати свої тести.
Основні висновки
- Юніт-тести допомагають виявити помилки на ранніх стадіях і переконатися, що ваші функції працюють за призначенням.
- Бібліотека Python unittest надає простий спосіб реалізації тестів.
- Ефективні тести включають як позитивні, так і негативні сценарії та перевіряють типи даних, що повертаються.
Покрокове керівництво
Крок 1: Підготовка проекту
По-перше, вам потрібен файл Python, в якому визначена ваша функція. У нашому прикладі ми викликаємо файл preisberechnung.py. Тут ви визначаєте функцію get_selling_price, яка бере ціну покупки і додає до неї націнку.

Крок 2: Створіть файл для ваших модульних тестів
Потім створіть новий файл, який буде містити тести для цієї функції. Назвемо цей файл preisberechnung_test.py. Тут ви будете працювати з модулем unittest.
Щоб використовувати фреймворк, імпортуйте його на початку файлу:

Крок 3: Створіть тестовий клас
Тестовий клас повинен бути успадкований від unittest.TestCase. Це дозволить вам організувати всі тести в структурованому вигляді. Перейменуйте клас на PriceCalculationTest, щоб пояснити, що саме тестується.

Крок 4: Напишіть тести
Тепер прийшов час писати власне тести. Почніть з тесту, який перевіряє, чи повернення функції get_sale_price має очікуваний тип (float):

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

Крок 6: Виконання тестів
Запустити тести можна або через термінал, або безпосередньо у вашому IDE. Якщо ви використовуєте термінал, виконайте наступне:
У вашій IDE, наприклад, PyCharm, ви можете використовувати конфігурацію запуску для виконання тестів.

Крок 7: Перевірте результати
Якщо ви успішно виконали тести, ви отримаєте результат, який показує, чи всі тести пройшли. Зелений результат означає, що ваш код працює належним чином.
Крок 8: Розширюйте тести
На додаток до базових тестів, ви можете додати інші відповідні сценарії, щоб підвищити безпеку коду. Не забувайте тестувати як позитивні, так і негативні випадки, щоб переконатися, що ваша логіка працює в усіх ситуаціях.

Резюме - Перший юніт-тест за допомогою Python: основи та реалізація
Написання модульних тестів є важливою навичкою, яка допоможе вам зробити ваш код надійним. У цьому посібнику ви дізналися, як написати свій перший модульний тест на Python, від визначення функції до виконання та перевірки результатів. Ретельне тестування значно покращить ремонтопридатність вашого коду і дозволить виявити проблеми на ранніх стадіях.
Часті запитання
Як створити юніт-тесту Python? Щоб створити юніт-тест у Python, створіть клас test, який успадковується від unittest.TestCase, і напишіть тести як методи цього класу.
Навіщо писати модульні тести?Модульні тести допомагають виявити помилки на ранніх стадіях і переконатися, що ваші функції працюють за призначенням.
Як запускати модульні тести?Ви можете запускати модульні тести через термінал за допомогою python -m unittest [ім'я файлу] або безпосередньо у вашому IDE.
Які існують хороші практики для модульного тестування? Хорошапрактика включає в себе як позитивні, так і негативні тестові сценарії, а також перевірку типів даних. Регулярність виконання також важлива для негайної перевірки змін у коді.