2015-05-16 2 views
3

Я впервые изучал учебник PHPUnit, и мои тесты выполняются нормально локально. Тем не менее, при выполнении моих тестов на Travis CI тесты не выполняются, и моя сборка завершается с 0.PHPunit никакие тесты не выполняются на Travis CI

Моя структура каталогов и полный код можно увидеть на repo.

журнал сборки от Travis CI (Full build log)

1.51s$ curl -s http://getcomposer.org/installer | php 
#!/usr/bin/env php 
All settings correct for using Composer 
Downloading... 
Composer successfully installed to: /home/travis/build/idavidmcdonald/phpunit-tutorial/composer.phar 
Use it: php composer.phar 
before_script.2 
0.33s$ php composer.phar install 
Loading composer repositories with package information 
Installing dependencies (including require-dev) from lock file 
Nothing to install or update 
Generating autoload files 
0.08s$ vendor/bin/phpunit --debug 
PHPUnit 3.7.14 by Sebastian Bergmann. 
Configuration read from /home/travis/build/idavidmcdonald/phpunit-tutorial/phpunit.xml 
Time: 13 ms, Memory: 2.00Mb 
No tests executed! 
The command "vendor/bin/phpunit --debug" exited with 0. 
Done. Your build exited with 0. 

phpunit.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<phpunit colors="true" bootstrap="vendor/autoload.php"> 
    <testsuites> 
     <testsuite name="Application Test Suite"> 
      <directory>phpunittutorial/tests/</directory> 
     </testsuite> 
    </testsuites> 
</phpunit> 

.travis.yml:

language: php 

php: 
    - 5.4 
    - 5.5 

before_script: 
    - curl -s http://getcomposer.org/installer | php 
    - php composer.phar install 

script: vendor/bin/phpunit --debug 

Мои тесты успешно работать на местном уровне, однако, возможно, есть проблема где-то с моим файлом phpunit.xml?

+0

Некоторые комментарии, которые могут улучшить ситуацию: 1. Composer уже установлен в Travis, нет необходимости в полной мере установить его снова. Возможно, вы захотите запустить 'self-update' для компоновщика вместо запуска команды установки curl. 2. Впоследствии композитор называется «композитор» напрямую, а не как «php composer.phar». 3. Для отладки возможных проблем с Composer запустите команду install с подробными флагами, такими как '-vvv'. – Sven

ответ

3

Справочник, содержащий ваши тесты, неверен.

Правильный путь будет phpUnitTutorial/tests. Обратите внимание, что Windows не заботится о чувствительности к регистру, но все остальные в мире делают это. Лучше всего было бы использовать нижний регистр для путей или дважды проверить, что вы используете правильный случай повсюду (PSR-0 и PSR-4 потребуют имена путей с тем же случаем, что и имя класса, которое обычно включает в себя буквы верхнего регистра).

И, кстати: Вероятно, вы должны перейти на более новую версию PHPUnit. Эта старая серия 3.7 не обновляется уже много лет, а переход на 4.x не слишком крут - вы должны просто сделать это.

+0

Путь действительно был проблемой. У меня были конфликтующие версии на моем локальном и github (мой локальный каталог был «phpunittutorial», а github был «phpUnitTutorial») после изменения в случае, если это не было обнаружено. Я решил проблему, изменив каталог на «приложение» и все необходимые ссылки. Также спасибо за информацию о бонусе о версии PHPUnit и композиторе, который уже установлен. – idavidmcdonald

+0

То же самое верно для MacOS: каталоги нечувствительны к регистру. Я только что решил аналогичную проблему с GitLab CI. Спасибо за напоминание! – Clayton

0
language: php 

php: 
- 5.4 
- 5.5 

install: composer install 

script: ./vendor/bin/phpunit 

Не уверен install: composer install, вероятно, может быть опущена

Смежные вопросы