Eigentlich arbeitet an einem Bootstrap 3 Plugin, Everythinks funktioniert jetzt. Ich möchte alles testen testen mit php Unit!Testen von CakePhp3 plugin -> Fehler beim Laden des Plugins/fehlende Klasse
Aber wenn ich PHP-Einheit nennen es sagen, dass er nicht die Klasse wie das gefunden tun:
Fatal error: Class 'BsHelpers \ View \ Helper \ BsHelper' nicht im Verzeichnis C: \ wamp3 \ www \ wac_lucien \ BsHelpers \ BsHelpersCakePHP3 \ 3.2 \ Plugins \ BsHelpers \ Tests \ Testcase \ View \ Helper \ BsHelpersTest.php on line 26
So genau die Dokumentation von CakePHP3 zu folgen, nachdem ich versucht, treffen das Problem bei der begenning. Für jetzt habe ich nur das:
<?php
namespace BsHelpers\Test\TestCase\View\Helper;
use BsHelpers\View\Helper\BsHelper;
use Cake\TestSuite\TestCase;
use Cake\View\View;
class BsHelperTest extends TestCase
{
public function setUp()
{
parent::setUp();
$this->View = new View();
$this->Bs = new BsHelper($this->View);
}
public function testBar()
{
}
}
Ich denke, Problem kann in bootstrap.php sein. Der Pfad des Plugin Loader kann falsch sein, aber ich weiß nicht, wie bis setzen ...
Plugin::load('BsHelpers', ['path' => ROOT . DS]);
Im composer.json meiner Plugin Ich habe:
"autoload": {
"psr-4": {
"App\\": "src",
"BsHelpers\\": "./plugins/BsHelpers/src",
"BsHelpers\\Test\\": "./plugins/BsHelpers/tests"
}
},
ich php aufrufen Unit-Test (in meinem Plugin-Ordner)
vendor\bin\phpunit
Und mein phpunit.xml.dist tun sieht aus wie
<phpunit
colors="true"
stopOnFailure="false"
bootstrap="./tests/bootstrap.php"
>
<testsuites>
<testsuite name="BsHelpers Test Cases">
<directory>./tests/</directory>
</testsuite>
</testsuites>
<filter>
<whitelist>
<directory suffix=".php">./src/</directory>
</whitelist>
</filter>
Jede Idee, warum ich meinen Helfer während des Tests nicht erreichen kann?
Pls Jungs Ich brauche wirklich Ideen
Hört sich eher an, als wäre Ihre Autoload-Konfiguration ('composer.json') falsch, oder Sie verwenden nicht den richtigen Composer-Autoloader aus dem Plug-in-Vendor-Ordner. Ohne zusätzliche Informationen über die erwähnten möglichen Probleme und einige Details darüber, wie Sie die Tests tatsächlich ausführen/phpunit aufrufen, ist es ziemlich unmöglich für irgendjemanden, etwas anderes als Raten zu tun. – ndm
Ok Entschuldigung für einige Informationen vergessen! Ich werde das zur Ausgangsfrage hinzufügen! –
Diese Datei sieht komisch aus, sie sieht eher wie eine Composer-Datei auf Anwendungsebene aus, nicht eine von einem Plugin !? Entwickeln Sie ein eigenständiges Plugin oder ist es Teil einer Anwendung? Wie/wo laden Sie den Autoloader ('vendor/autoload.php')? – ndm