В целях унификации окружения для разработки под различными OS предлагается использовать Vagrant.
Следующие программы необходимо скачать и установить:
Ещё понадобится аккаунт на GitHub.
Сначала нужно сделать форк проекта, о том как это можно сделать описано здесь, после этого:
git clone https://github.com/${USER}/tech-testing-ha1.git # где ${USER} — имя вашего пользователя на GitHub
cd tech-testing-ha1
vagrant up # Запуск Vagrant и подготовка виртуальной машины (с Ubuntu 12.04)
vagrant ssh # Получить доступ по ssh к виртуальной машине. После этого все команды будут выполняться в виртаульной машине
./provision/
— скрипт для установки зависимостей и конфигурационные файлы./source/
— код тестируемых приложений./source/config/
— примеры конфигурационных файлов для приложений./source/tests/
— директория c тестами./run_tests.py
— скрипт для запуска тестов./.coveragerc
— конфигурация сборки покрытия
Примеры команд указаны относительно корня проекта.
- Тесты должны находиться в директории
./tests/
, можно добавлять тесты к уже существующим в файлыtest_notification_pusher.py
иtest_redirect_checker.py
- При создании новых файлов/классов с тестами нужно указать их в скрипте запуска тестов:
./run_tests.py
- При создании новых файлов/классов с тестами нужно указать их в скрипте запуска тестов:
- Запустить все тесты:
./run_tests.py
- Запустить тесты и измерить покрытие:
coverage run ./run_tests.py
- Получить информацию о покрытии:
- В консоли:
coverage report
- Создать отчёт в формате html:
coverage html
. По умолчанию будет создана директорияhtmlcov
, чтобы просмотреть отчёт нужно в браузере открыть файлhtmlcov/index.html
- В консоли:
- Запустить один тест:
export PYTHONPATH=$PYTHONPATH:./source # добавление пути до директории source в PYTHONPATH
python -m unittest source.tests.test_notification_pusher.NotificationPusherTestCase.test_create_pidfile_example
Пример PR:
На нём зелёная стрелка указывает на сборку на Travis CI, а красная на анализ покрытия (по строкам) для сборки на Coveralls.