Непрерывная интеграция с пакетом Laravel и Behat

Я разрабатываю пакет для Laravel, которому на самом деле нужно все приложение Laravel для запуска тестов, которые я написал с помощью Behat.

Я использую Travis в качестве службы CI, и мне интересно, есть ли конкретная конфигурация .travis.yml, позволяющая запускать тесты, созданные для моего пакета, с недавно созданным приложением Laravel.

В основном мой пакет состоит из трейтов для консольных команд, которые нельзя протестировать без установки самого Laravel.

Я знаю, что могу установить новое приложение Laravel, установив хук install в .travis.yml, но тогда я не знаю, как интегрировать и запускать свои тесты с приложением.


person Andrea Marco Sartori    schedule 09.04.2016    source источник


Ответы (1)


Я поделюсь с вами своим конфигурационным файлом travis (я использую Laravel 5.1).

Мой файл работает с PHPUnit, однако просто замените строку, которая запускает PHPUnit, на вашу команду Behat, все остальное идеально.

.travis.yml

language: php

php:
  - 5.5.9
  - 5.6
  - 7.0
  - hhvm

matrix:
    allow_failures:
        - php: hhvm

before_script:
- cp .env.travis .env
- mysql -e 'create database homestead;'
- composer self-update
- composer install --prefer-source --no-interaction --dev
- php artisan migrate
- php artisan db:seed

script: vendor/bin/phpunit

Вы также должны включить .env.travis, пример файла будет выглядеть так:

APP_ENV=testing
APP_DEBUG=true
APP_KEY=xXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxX

DB_CONNECTION=mysql
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=root
DB_PASSWORD=

CACHE_DRIVER=array
SESSION_DRIVER=array
QUEUE_DRIVER=sync

вы, конечно, можете использовать определенный DB_CONNECTION, который, вероятно, работает с sqlite в памяти или около того.

person Mahmoud Zalt    schedule 25.04.2016