Skip to content

Instantly share code, notes, and snippets.

@renepardon
Last active October 25, 2021 07:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save renepardon/2d926cc091c1dc84eddc927d54df5d87 to your computer and use it in GitHub Desktop.
Save renepardon/2d926cc091c1dc84eddc927d54df5d87 to your computer and use it in GitHub Desktop.
nwidard/laravel-modules PHPUnit config which fails to calculate coverage for Modules/ directory
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="bootstrap/test.php"
colors="true"
cacheResult="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false">
<testsuites>
<testsuite name="Unit">
<directory suffix="Test.php">./tests/Unit</directory>
<directory suffix="Test.php">./Modules/**/Tests/Unit</directory>
</testsuite>
<testsuite name="Feature">
<directory suffix="Test.php">./tests/Feature</directory>
<directory suffix="Test.php">./Modules/**/Tests/Feature</directory>
</testsuite>
</testsuites>
<!-- <filter>-->
<!-- <whitelist>-->
<!-- <directory suffix=".php">./app/</directory>-->
<!-- <directory suffix=".php">./Modules/</directory>-->
<!-- </whitelist>-->
<!-- </filter>-->
<groups>
<exclude>
<group>streaming</group>
</exclude>
</groups>
<coverage pathCoverage="false"
ignoreDeprecatedCodeUnits="true">
<include>
<directory suffix=".php">./app/</directory>
<directory suffix=".php">./Modules/</directory>
</include>
<exclude>
<directory>./Modules/**/Database/factories</directory>
<directory>./Modules/**/Database/Migrations</directory>
<directory>./Modules/**/Database/Seeders</directory>
<directory>./Modules/**/Config</directory>
<directory>./Modules/**/Resources</directory>
<directory>./Modules/**/Routes</directory>
<directory>./Modules/**/Tests</directory>
<directory>./Modules/**/vendor</directory>
</exclude>
<report>
<clover outputFile="build/code-quality/clover.xml"/>
<crap4j outputFile="build/code-quality/crap4j.xml" threshold="50"/>
<html outputDirectory="build/code-quality/reports/html-coverage" lowUpperBound="50" highLowerBound="90"/>
<php outputFile="build/code-quality/coverage.php"/>
<text outputFile="build/code-quality/coverage.txt" showUncoveredFiles="false" showOnlySummary="true"/>
<xml outputDirectory="build/code-quality/reports/xml-coverage"/>
</report>
</coverage>
<logging>
<junit outputFile="build/code-quality/junit.xml"/>
<text outputFile="build/code-quality/logfile.txt"/>
</logging>
<php>
<env name="APP_ENV" value="testing" />
<env name="APP_KEY" value="base64:t/TzzI4sX7oQJOENPcdogn1eteoDVYPMKtebcBQsaYw=" />
<env name="APP_URL" value="http://testing.somethingnice.localhost" />
<env name="BCRYPT_ROUNDS" value="4" />
<env name="DB_CONNECTION" value="sqlite" />
<env name="DB_FOREIGN_KEYS" value="false" />
<env name="DB_DATABASE" value=":memory:" />
<env name="DB_TEST_DATABASE" value=":memory:" />
<env name="DB_PREFIX" value="testing_" />
<env name="DB_HOST" value="127.0.0.1" />
<env name="DB_HOST_MASTER" value="127.0.0.1" />
<env name="DB_HOST_SLAVE" value="127.0.0.1" />
<env name="DB_PORT" value="3306" />
<env name="DB_USERNAME" value="root" />
<env name="DB_PASSWORD" value="secret" />
<env name="SCOUT_DRIVER" value="null" />
<env name="SCOUT_QUEUE" value="false" />
<env name="SCOUT_PREFIX" value="somethingnice_" />
<env name="BROADCAST_DRIVER" value="log" />
<env name="SESSION_DRIVER" value="array" />
<env name="QUEUE_CONNECTION" value="sync" />
<env name="MAIL_MAILER" value="array" />
<env name="CACHE_DRIVER" value="array" />
<env name="LOG_CHANNEL" value="daily" />
</php>
</phpunit>
@renepardon
Copy link
Author

Works as expected now. Missing setting was pcov.directory from PHP pcov extension. By default it searches only for folders like src/ and app/.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment