Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Вступ до тестування в Python | Тестування з Unittest і Pytest
Структурне програмування на Python

Вступ до тестування в Python

Свайпніть щоб показати меню

Тестування є фундаментальною практикою у розробці програмного забезпечення, що забезпечує очікувану поведінку коду та його надійність у процесі розвитку. Автоматизоване тестування дозволяє перевіряти код автоматично, замість трудомістких і схильних до помилок ручних перевірок. Написання тестів дає змогу швидко виявляти, коли зміни порушують існуючу функціональність, і впевнено рефакторити або розширювати код.

Одним із найпопулярніших підходів до тестування є розробка через тестування (TDD). У TDD спочатку пишеться тест, який описує бажану поведінку або функцію, а вже потім — код для її реалізації. Такий процес спонукає ретельно продумувати вимоги та крайові випадки заздалегідь, що веде до чистішого та легшого в обслуговуванні коду. Після написання тесту реалізується мінімальний код, необхідний для проходження тесту, а потім код рефакториться для зрозумілості чи ефективності, з повторним запуском тестів для перевірки стабільності. Цей цикл — написати тест, написати код, рефакторити — допомагає поступово створювати надійне програмне забезпечення.

Тестування — це не лише пошук помилок. Воно також слугує живою документацією для коду, полегшуючи розуміння його роботи для інших розробників (і для себе в майбутньому). Автоматизовані тести особливо цінні при командній роботі або у великих проєктах, оскільки створюють захисну сітку, що сприяє експериментам і впевненим змінам у коді.

12345
# A function to add two numbers def add(a, b): return a + b print(add(2, 3))
# A basic test case for the add function using unittest
import unittest

class TestAddFunction(unittest.TestCase):
    def test_add_positive_numbers(self):
        self.assertEqual(add(2, 3), 5)

    def test_add_zero(self):
        self.assertEqual(add(0, 5), 5)

    def test_add_negative_numbers(self):
        self.assertEqual(add(-1, -1), -2)

Наданий код визначає клас тестового випадку з назвою TestAddFunction, використовуючи вбудований фреймворк Python unittest. Усередині цього класу знаходяться три тестові методи:

  • test_add_positive_numbers перевіряє, що виклик add(2, 3) повертає 5;
  • test_add_zero перевіряє, що додавання нуля і п’яти за допомогою add(0, 5) повертає 5;
  • test_add_negative_numbers підтверджує, що додавання двох від’ємних чисел, add(-1, -1), повертає -2.

Кожен тестовий метод використовує self.assertEqual для порівняння фактичного результату функції add з очікуваним значенням. Якщо якийсь тест не пройде, фреймворк повідомить про це, допомагаючи вчасно виявити помилки.

question mark

Яка з наведених переваг є ключовою для автоматизованого тестування у розробці на Python?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 1

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 5. Розділ 1
some-alt