CakePHP 3.5 Unit Tests - Hilfsklassen - Autoload - Class not found
kackb00n
- php
- software
- sonstiges
Hi,
ich habe ein Problem mit dem autoloading von CakePHP, wenn ich einen Unit-Test laufen lassen will.
Hier die problemantischen Dateien: /tests/TestCase/Controller/Component/UserPermissionComponentTest.php /tests/TestCase/Resources/MockRedirect.php
Es handelt sich hierbei um einen Fork, das Repository ist eingestellt, dass Scrutinizer nach gepushten Commits die Unit-Tests ausführt und dabei tritt folgender Fehler auf:
PHPUnit 6.1.4 by Sebastian Bergmann and contributors.
.......E 8 / 8 (100%)
Time: 108 ms, Memory: 8.00MB
There was 1 error:
- App\Test\TestCase\Controller\Component\UserPermissionComponentTest::testCakePhpFashionedRedirect Error: Class 'App\Test\TestCase\Resources\MockRedirect' not found
/home/scrutinizer/build/tests/TestCase/Controller/Component/UserPermissionComponentTest.php:235
Zeile 235 ist $redirector = new MockRedirect();. Anhand der Links oben wird schon die Verzeichnis-Struktur dargestellt. Da UserPermissionsTestController
den Namespace App\Test\TestCase\Controller\Component
hat, dachte ich, dass MockRedirect
den Namespace App\Test\TestCase\Resources
kriegen muss. Das scheint aber nicht richtig zu sein, leider weiß ich jetzt auch nicht mehr weiter und wollte deshalb hier nachfragen.
Ich stehe auch mit dem Autor des Plugins im Kontakt, aber wir scheinen trotzdem nicht weiter zu kommen. Unsere bisherige Problemansätze lassen sich im Pull-Request nachlesen.
Auch wenn im Pull-Request steht, dass alle Tests erfolgreich durchlaufen wurden, wenn man bei Scrutinizer auf Details klickt, sieht man noch mal obige Fehlermeldung.
Wie muss ich den Namespace für die MockRedirect-Klasse anpassen, damit diese über das Autoloading geladen wird?
Grüße