PHPStorm PHPUnit und... ResultPrinter.php Fehler
Wann immer ich laufen phpunit tests von PHPStorm bekomme ich eine Fehlermeldung. Ich habe mehr info unten. Ich bin mir nicht sicher, wo ich Sie vermisse, konfiguriert das setup.
Mein Setup
- Ubuntu
- PHPStorm 8.0.1
- PHPUnit 4.3.4
Mehr Info:
PHPUnit.phar befindet sich bei /usr/local/bin/phpunit.phar
. Ich habe setup PHPUnit-Pfad direkt in PHPStorm. Tests ausführen von bash ohne Probleme. Ich habe auch meine setup-Konfigurationsdatei phpunit.xml
in PHPUnit, welches sich im root von meinem Projekt. Die phpunit.xml
- Datei sagt phpunit zum laden der Komponist autoload.php
Datei.
PHPUnit-Ausgabe:
/usr/bin/php -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1 /tmp/ide-phpunit.php --configuration /home/mkelley/projects/CompanyName/phpunit.xml
Testing started at 10:33 AM ...
PHPUnit 4.3.4 by Sebastian Bergmann.
Configuration read from /home/mkelley/projects/CompanyName/phpunit.xml
PHP Fatal error: Call to undefined method CompanyNameTests\Boundaries\BoardMemberVotingBoundaryTest::hasExpectationOnOutput() in phar:///usr/local/bin/phpunit.phar/phpunit/TextUI/ResultPrinter.php on line 545
PHP Stack trace:
PHP 1. {main}() /tmp/ide-phpunit.php:0
PHP 2. IDE_Base_PHPUnit_TextUI_Command::main($exit = *uninitialized*) /tmp/ide-phpunit.php:500
PHP 3. PHPUnit_TextUI_Command->run($argv = *uninitialized*, $exit = *uninitialized*) /tmp/ide-phpunit.php:243
PHP 4. PHPUnit_TextUI_TestRunner->doRun($suite = *uninitialized*, $arguments = *uninitialized*) phar:///usr/local/bin/phpunit.phar/phpunit/TextUI/Command.php:186
PHP 5. PHPUnit_Framework_TestSuite->run($result = *uninitialized*) /home/mkelley/projects/CompanName/vendor/phpunit/phpunit/src/TextUI/TestRunner.php:423
PHP 6. PHPUnit_Framework_TestSuite->run($result = *uninitialized*) /home/mkelley/projects/CompanName/vendor/phpunit/phpunit/src/Framework/TestSuite.php:703
PHP 7. PHPUnit_Framework_TestCase->run($result = *uninitialized*) /home/mkelley/projects/CompanName/vendor/phpunit/phpunit/src/Framework/TestSuite.php:703
PHP 8. PHPUnit_Framework_TestResult->run($test = *uninitialized*) /home/mkelley/projects/CompanName/vendor/phpunit/phpunit/src/Framework/TestCase.php:771
PHP 9. PHPUnit_Framework_TestResult->endTest($test = *uninitialized*, $time = *uninitialized*) /home/mkelley/projects/CompanName/vendor/phpunit/phpunit/src/Framework/TestResult.php:760
PHP 10. PHPUnit_TextUI_ResultPrinter->endTest($test = *uninitialized*, $time = *uninitialized*) /home/mkelley/projects/CompanyName/vendor/phpunit/phpunit/src/Framework/TestResult.php:378
Process finished with exit code 255
Ich habe Google gesucht und war nicht in der Lage zu finden, ein ähnliches Problem. Ich freue mich über jede Hilfe!!!
BEARBEITEN
Hier ist meine phpunit.xml Datei. PHPStorm ist dieses als eine "alternative configuration file"
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
colors="true"
bootstrap="./vendor/autoload.php"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
syntaxCheck="false"
>
<testsuites>
<testsuite name="Application Test Suite">
<directory>./tests/</directory>
</testsuite>
</testsuites>
</phpunit>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies scheint die autoloading Problem. Wenn Sie bootstrap-Ihre app für die test-suite müssen Sie initialisieren Sie den autoloader ein, das scheint nicht passiert zu sein, als etwas nicht zu bekommen, gefunden. Der einfachste Weg wäre die Nutzung von Composer zur Verwaltung der PHPUnit-Abhängigkeit und das automatische laden von Klassen über das
autoload
Richtlinie. Siehe diepsr-4
Teil in Dokumentation.Dann in Ihre PhpStorm PHPUnit Konfigurations-Fenster, wählen Sie
Use custom autoloader
und definieren Sie den Pfad zu Ihremvendor/autoload.php
Skript.Ich beantworte meine Frage selbst, falls jemand anderes kommt über dieses Problem.
Wurde das Thema autoloading PHPUnit via composer und mithilfe von phpunit.phar. Einmal habe ich entfernt, die phpunit Abhängigkeit von Komponisten PHPStorm war in der Lage, erfolgreich alle meine tests.
Manchmal besser ist, ein Bild...
Wie Sie sehen können, können Sie auch mit Ihrem
phpunit.phar
Datei.Das problem ist nicht, dass Sie autoloading phpunit via composer, sondern daß der Komponist Sie verwenden eine alte version von phpUnit. In meinem Fall anstatt 4.0.0 habe ich aktualisiert auf die Version 4.6.*.
Ich habe das gleiche Problem mit dem Komponisten und über die .phar hatte ja keine Probleme. Heute habe ich gerade Begriffen, dass slaps Stirn es war nur verursacht durch die Installation von phpunit via composer und dann nicht re-Indizierung der vendor-Ordner.
Ich habe nicht gefunden, dass ich ' ve hatte dieses Problem bereits bei der Installation neuer Pakete mit dem Komponisten aber aus irgendeinem Grund bei der Installation von phpunit hatte es nicht neu indiziert die vendor-Ordner verursacht Unstimmigkeiten.
Reindex, alles funktioniert wie gewohnt.