Запуск тестов: локально и в CI

Настройка тестов в среде разработки Visual Studio Code

Чтобы настроить тесты локально, Вам потребуется выполнить следующие шаги:

  1. Установите зависимости для тестов:

    python -m pip install -r requirements_qa.txt
    

Important

Удостоверьтесь, что у Вас активировано виртуальное окружение. Это делается через запуск команд .\venv\Scripts\activate (Windows) или source venv\bin\activate (macOS) в терминале.

  1. Создайте новую конфигурацию:

    Чтобы создать новую конфигурацию, откройте вкладку Testing на левой панели Visual Studio Code и нажмите кнопку Configure Python Tests button.

    ../../../_images/vscode_testing_tab.jpg

    Иначе Вы можете открыть настройки конфигурации через командную строку Visual Studio Code. Используйте сочетание клавиш Ctrl + Shift + P, чтобы открыть командную строку. Наберите Python: Configure Tests в строке и выберите данную опцию в списке команд.

    ../../../_images/vscode_command_bar.jpg

    Теперь Вы можете начать конфигурацию самих тестов.

  2. Выберите опцию pytest:

    ../../../_images/vscode_tests_configuration_step_1.jpg
  3. Выберите папку для запуска тестов:

    Вы можете использовать корневую папку проекта или папку нужной Вам лабораторной работы.

    ../../../_images/vscode_tests_configuration_step_2.jpg

    После выбора Visual Studio Code откроет файл settings.json с параметрами конфигурации, а все тесты будут расположены на вкладке Testing.

Запуск тестов

Чтобы запустить все тесты, нажмите кнопку Run Tests, как показано на скриншоте ниже.

../../../_images/vscode_configured_tests.jpg

Иногда Вам может понадобиться запустить не все тесты, а выборочно некоторый конкретный тест, папку с тестами или файл с тестами. Вы можете сделать это, нажав кнопку Run Test рядом рядом с названием теста (или файла/папки с несколькими тестами), который Вы хотите запустить, на вкладке Testing. Также это можно сделать в самом файле с тестами, нажав на крестик/галочку (кнопку Run Test) на строке инициализации теста, как показано на скриншоте ниже.

../../../_images/vscode_running_tests.jpg

Режим отладки (debugging)

Если Вы хотите найти ошибки в коде, Вам понадобится запустить нужный тест в режиме отладки. Для этого Вы можете нажать на кнопку Debug Test с силуэтом жука рядом с тестом на вкладке Testing или нажать правой кнопкой мыши на кнопку Run Test в самом файле с тестом и выбрать опцию Debug Test.

../../../_images/vscode_debugging.jpg

Чтобы начать процесс отладки, Вам понадобится поставить точку останова (breakpoint) в Вашем коде или в самом тесте. Точки останова — это специальные маркеры, которые Вы можете поставить на потенциально уязвимые строчки кода. При запуске теста в режиме отладки программа приостановится на указанной строчке, и Вы сможете посмотреть на текущее состояние переменных, а также пошагово посмотреть, как работает код.

../../../_images/breakpoints.jpg

Запуск тестов в терминале

Important

Удостоверьтесь, что у Вас активировано виртуальное окружение. и установлены зависимости.

Команда для запуска всех тестов выглядит так:

python -m pytest

Чтобы запускать тесты на определённую оценку, используйте маркеры mark4, mark6, mark8 или mark10. Например, так:

python -m pytest -m mark8

Чтобы запускать тесты определённой лабораторной работы, добавьте название папки после команды pytest.

Например, вот так выглядит команда и полный вывод для запуска тестов первой лабораторной работы на оценку 4:

../../../_images/running_from_command_line.jpg

Hint

Если Вы активировали виртуальное окружение и установили необходимые зависимости, Вы можете использовать pytest без вызова python.

Запуск тестов в CI

Запуск тестов и других проверок в CI происходит в открытом Вами Пулл Реквесте.

В самый первый раз проверки запускаются в тот момент, когда Вы открываете Пулл Реквест. После этого проверки запускаются только тогда, когда вы делаете push изменений в Ваш форк. Проверки CI запускаются автоматически, обычно через минуту.

Чтобы посмотреть результаты проверок, зайдите в Ваш Пулл Реквест, нажмите на кнопку details интересующей Вас проверки, а затем на интересующий Вас шаг проверки.

Вы можете также посмотреть проверки через вкладку Checks в Вашем Пулл Реквесте.

../../../_images/ci_report1.png ../../../_images/ci_tab1.png

Если проверки в CI не запускаются, удостоверьтесь, что Вы приняли приглашение в группу на GitHub. Обычно их высылают организованно в начале курса.