Tic Tac Toe, часть 7: pytest и Travis CI

от автора

Tic Tac Toe: содержание цикла статей

В этой статье рассмотрим Непрерывную Интеграцию/Сontinuous Integration на примере использования Travis CI.

Создайте аккаунт на GitHub, если у вас его еще нет. Создайте новый репозиторий с любым названием, например, test-travis.

Авторизуйтесь на Travis CI с помощью аккаунта GitHub. Выполните привязку аккаунта к аккаунту на GitHub. Выберите репозиторий test-travis.

На GitHub добавьте в репозиторий файл .travis.yml со следующим содержимым:

language: python script:   - pytest

Travis CI автоматически начнет сборку проекта. В Travis CI через Dashboard переходим на страницу сборки проекта, наблюдаем за процессом сборки и смотрим на результат.
Видим, что ни одного теста не было выполнено, поскольку они просто отсутствуют в нашем репозитории.

Добавим тест test_sample.py в наш репозиторий на GitHub. Скопируем его отсюда.

# content of test_sample.py def inc(x):     return x + 1  def test_answer():     assert inc(3) == 5

Переходим в Travis CI на страницу сборки проекта и видим, что процесс сборки начался. Тест, как и ожидалось, не прошел.

Исправляем test_sample.py, переходим в Travis CI на страницу сборки проекта, видим, что тест прошел.

Домашнее задание

Попробуйте взять проект из статьи Tic Tac Toe, часть 4: Взаимодействие с бэкендом на Flask с помощью HTTP. Можно просто выполнить форк с этого репозитория: https://github.com/nomhoi/tic-tac-toe-part4. Добавьте какие-нибудь тесты для Python и JavaScript скриптов, добавьте файл .travis.yml. Документация по настройке тестов для Python: https://docs.travis-ci.com/user/languages/python/, для JavaScript: https://docs.travis-ci.com/user/languages/javascript-with-nodejs/. Я тоже попробую и выложу ссылку на репозиторий здесь позже.

Заключение

Чтобы воспользоваться технологией непрерывной интеграции из всех наших телодвижений потребовалось добавить в репозиторий файл .travis.yml, авторизоваться на сервисе Travis CI и выбрать там репозиторий. В дальнейшем будут усилия только по правильной настройке конфигурационного файла .travis.yml.

Если разработчик один, то тесты можно выполнять и на своем локальном компьютере. Но если проект пишется командой, то удобнее выполнять тесты после каждого push’a в общий репозиторий. Тесты будут выполнены системой непрерывной интеграции автоматически после каждого push’a в общий репозиторий.

В следующих статьях рассмотрим Continuous Delivery.


ссылка на оригинал статьи https://habr.com/ru/post/461905/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *