Ich habe zu ignorieren, was ich denke, ist eine ungewöhnliche Frage, aber ich werde versuchen, so klar wie möglich zu erklären. Ich habe einen einfachen Handwerker Befehl erstellt, der dies Dies könnteAufruf PHPUnit von Artisan Befehl wird die XML-Datei
/**
* Execute the console command.
*/
public function handle()
{
$this->info("==> Cleaning up reports and docs...");
$command = new Process("rm -f tests/docs/* && rm -rf test/reports/*");
$command->run();
$this->warn("==> Reports and docs are clean");
$this->info("==> Executing Tests Suite...");
$command = new Process("vendor/bin/phpunit --coverage-html tests/reports --testdox-html tests/docs/reports.html -v --debug");
$command->run();
$this->info($command->getIncrementalOutput());
$this->warn("==> report generated >> test/reports. Documentation generated >> test/docs/reports.html");
}
tut scheint irgendwie seltsam, aber es ist eigentlich ziemlich nützlich, es zu starten, die PHPUnit mit der Abdeckung Unterstützung und anderen Sachen. Das Problem ist, dass, wenn ich diesen Befehl wie php artisan ludo237:full-test
läuft es vollständig die phpunit.xml
tatsächlich ignorieren wird es sagen, angezeigt und Fehler, dass die MySQL-Datenbank nicht existiert, obwohl ich die SQLite-Verbindung in meinem phpunit.xml
Sprechen eingestellt haben, von denen können Sie deutlich sieht, dass richtig ist:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="bootstrap/autoload.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false">
<testsuites>
<testsuite name="Application Test Suite">
<directory suffix="Test.php">./tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./app</directory>
</whitelist>
</filter>
<php>
<env name="APP_ENV" value="testing"/>
<env name="APP_DEBUG" value="true"/>
<env name="APP_URL" value="http://localhost:8000"/>
<env name="DB_CONNECTION" value="sqlite"/>
<env name="DB_DATABASE" value=":memory:" />
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
<env name="MAIL_DRIVER" value="log"/>
<env name="MAIL_PRETEND" value="true"/>
</php>
</phpunit>
ich weiß, dass ich einfach einen bash-Alias für die Befehlszeile erstellen, in der Tat ist dies meine aktuelles Hot-Fix ist, aber an diesem Punkt bin ich nur neugierig, zu verstehen, warum, wenn Ich starte den Befehl phpunit vom Befehl artisan, der die XML-Datei ignoriert.
Hat jemand eine Ahnung davon? Vielen Dank!
Danke for.your Aufwand lasst uns Prüfen Sie, ob das Problem aktualisiert wird –