Интерфейс командной строки

Введение в тестирование на 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

Запуск скрипта test_sqneg.py с использованием модуля unittest.

Введение в тестирование на Python

Пример: вывод

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

Вывод теста: вывод unittest test_sqneg.py

Введение в тестирование на Python

Аргумент -k

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

Catch flag -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

  • Аргумент ключевого слова: 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...