Інтерфейс CLI

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

Alexander Levin

Data Scientist

Приклад: код

Тест оператора зведення в степінь:

# test_sqneg.py
import unittest
# Declaring the TestCase class
class TestSquared(unittest.TestCase):
    # Defining the test
    def test_negative(self):
        self.assertEqual((-3) ** 2, 9)

Команда CLI:

python3 -m unittest test_sqneg.py

Запустіть Python-скрипт test_sqneg.py як модуль unittest.

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

Приклад: результат

Команда: python3 -m unittest test_sqneg.py

Вивід тесту: вивід unittest test_sqneg.py

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

Параметр -k (keyword)

unittest -k — запуск методів і класів тестів, що збігаються з шаблоном або підрядком

Команда: python3 -m unittest -k "SomeStringOrPattern" test_script.py

Приклад: python3 -m unittest -k "Squared" test_sqneg.py

Вивід: вивід з ключовим словом

1 https://docs.python.org/3/library/unittest.html
Вступ до тестування в Python

Прапор швидкої зупинки -f

unittest -f — зупинити запуск на першій помилці чи збої.

Команда: python3 -m unittest -f test_script.py

Коли корисно: коли всі тести критичні, наприклад перевірка літака перед польотом.

приклад проваленого тесту

1 https://docs.python.org/3/library/unittest.html
Вступ до тестування в Python

Прапор перехоплення -c

Прапор перехоплення unittest -c — дає змогу перервати тести натисканням "Ctrl - C".

  • Якщо "Ctrl - C"
    • натиснуто один раз — unittest чекає завершення поточного тесту й показує результати на цей момент.
    • натиснуто двічі — unittest піднімає виняток KeyboardInterrupt.

Команда: python3 -m unittest -c test_script.py

Коли корисно: під час налагодження великого набору тестів

1 https://docs.python.org/3/library/unittest.html
Вступ до тестування в Python

Прапор докладності -v

unittest -v — запуск тестів з детальнішим виводом

Команда: python3 -m unittest -v test_script.py.

Коли корисно: для налагодження

Приклад виводу: вивід unittest з прапором verbose

1 https://docs.python.org/3/library/unittest.html
Вступ до тестування в Python

Підсумок

  • Базова команда без аргументів: python3 -m unittest test_script.py

  • Вивід у unittest

  • Параметр keyword: python3 -m unittest -k "SomeStringOrPattern" test_script.py

  • Прапор швидкої зупинки: python3 -m unittest -f test_script.py

  • Прапор перехоплення: python3 -m unittest -c test_script.py

  • Прапор докладності: python3 -m unittest -v test_script.py

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

Давайте потренуємось!

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

Preparing Video For Download...