Я работаю над своим любимым проектом Pipes и стараюсь максимально приблизить его к 100% -ному охвату кода (я использую Coveralls).100% -ый охват кода с различными версиями PHP в Travis-CI
Проблема, с которой я столкнулся, заключается в следующем: как получить покрытие 100% кода с разными версиями PHP? На данный момент мой проект не содержит кода, зависящего от версии, но это, скорее всего, изменится очень скоро.
Я хотел бы получить покрытие 100% кода для PHP 5.4, даже если код, связанный с генераторами, не будет выполнен при тестировании с 5.4.
Может ли кто-нибудь предложить стратегию или совет о том, как сохранить статистику по вопросам покрытия подотчетной?
Вот мой .travis.yml
:
language: php
php:
- 5.6
- 5.5
- 5.4
- hhvm
install:
- composer require satooshi/php-coveralls:[email protected]
before_script:
- curl -s http://getcomposer.org/installer | php
- php composer.phar install --dev
- mkdir -p build/logs
script:
- phpunit --coverage-clover build/logs/clover.xml
after_success:
- sh -c 'if [ "$TRAVIS_PHP_VERSION" != "hhvm" ]; then php vendor/bin/coveralls -v; fi;'
Вот мой phpunit.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
stopOnError="false"
stopOnIncomplete="false"
stopOnSkipped="false"
syntaxCheck="false"
bootstrap="vendor/autoload.php">
<testsuites>
<testsuite name="Application Test Suite">
<directory>./tests/</directory>
</testsuite>
</testsuites>
<!-- Add a filter to make sure we don't count venders and Tests in the coverage report -->
<filter>
<whitelist>
<directory suffix="Test.php">./src</directory>
<exclude>
<directory>./docs</directory>
<directory>./vendor</directory>
<directory>./tests</directory>
</exclude>
</whitelist>
</filter>
</phpunit>
PS: Я знаю, что покрытие коды не является панацея.