Travod международный партнер

travisэто сервис для автоматического тестирования кода, он интегрирован с GitHub поддерживает множество языков и библиотек, в данном случае нас интересует PHP и тесты на PHPUnit. Это очень удобно когда вы разрабатываете открытую библиотеку, остальным нет необходимости запускать тесты локально, все будет доступно на travis.

Самое главное что у вас должен быть код покрытый тестами и они должны все быть работоспособны. Надо зарегистрироваться на travis-ci.org, сделать это можно только с помощью GitHub. travod с ним очень плотно интегрирован и использовать его с другими подобными сервисами не получится.

директива language говорит от том какой язык используем в нашем случае это php.

php это поддерживаемые версии в нашем случае мы может только от 5. 4 и выше, тесты будут выполнены под всеми указанными версиями отдельно. возможен такой вариант

но в нашем случае тесты на версии 5. 3 точно не прошли, так как есть не совместимые изменения.

matrix — дает возможность выполнять тесты под разными конфигурациями а директива allow_failures в данном случае означает что тесты с версией php5. 5 могут не пройти, от них не зависит статус всех тестов

env наше рабочее окружение, я использовал тут matrix, чтобы тесты выполнялись при разных установках composer, глобальных переменных у меня нет, можно через пробел писать несколько переменных к примеру — REQUIRE=no-dev USE_NETWORK=true подробнее можно узнать на travis. global имеет такой же формат как и matrix, только использоваться будут во всех build.

before_script — все действия построчно что нам необходимо делать перед тестами, здесь будет и установка всего приложения и очистка кеша если такое необходимо, переменные указанные нами ранее можно использовать, у нас есть — echo «extension = mongo.so» >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini установка дополнительной библиотеки php, так как не все они включены по умолчанию, список расширений которые включены можно узнать здесь

script: phpunit -c app/ это соответственно запуск самих тестов у travis, соответственно PHPUnit там установлен, запуск считается от корня проекта. У меня PHPUnit установлен на рабочей машине глобально, поэтому я также запускаю их у себя из корня проекта.

Выводы.

В данном примере будет сделано всего 4 сборки(php 5. 4 и dev, php 5. 4 и prod, php 5. 5 и dev, php 5. 5 и prod) и все они протестированы, но тесты версии php 5. 5 то есть сборка дев версии и прод не будут влиять на общий результат.

Данный сервис полезен прежде всего тем кто будет использовать ваши библиотеки. Вы не всегда можете протестить под разным окружением, и можно к примеру подготовиться для будущего перехода на скажем php 5. 5.

Пример вполне рабочий, можно результат посмотреть . Это краткое введение, для более детального изучения всех его возможностей воспользуйтесь документацией.


Travis Pastrana & David Higgins Rally America — Launch Control Eps 7 Season 3

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

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