Я создал небольшой пакет, и я хочу получить некоторые квалификации для него.
Так что один из них Scrutinizer
Покрытие и качество кода.
Как и в учебнике, я создал файл и переименовал его в scrutinizer.yml
и вставьте в него следующее:
build:
tests:
override:
-
command: 'vendor/bin/phpunit --coverage-clover=some-file'
coverage:
file: 'some-file'
format: 'clover'
Но после синхронизации в моем Scrutinizer
профиль я получаю это «покрытие NaN%»
И что же мне делать?
Я нашел это.
это связано с настройкой PHPUnit. я создаю файл и переименовываю его в phpunit.xml и помещаю в него следующий код конфигурации.
<phpunit backupGlobals="false"backupStaticAttributes="false"colors="true"convertErrorsToExceptions="true"convertNoticesToExceptions="true"convertWarningsToExceptions="true"processIsolation="false"stopOnFailure="false"syntaxCheck="false">
<testsuites>
<testsuite name="Package Test Suite">
<directory suffix=".php">./tests/</directory>
</testsuite>
</testsuites>
</phpunit>
и после запуска phpunit для создания локального файла cover.xml; это дало мне следующую ошибку:
Error: No code coverage driver is available
и я после небольшого поиска нашел, что я должен вставить следующий код в phpunit.xml
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">src</directory>
</whitelist>
</filter>
итоговый файл 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"syntaxCheck="false">
<testsuites>
<testsuite name="Package Test Suite">
<directory suffix=".php">./tests/</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">src</directory>
</whitelist>
</filter>
</phpunit>
Других решений пока нет …