実際にはBootstrap 3プラグインで動作しています。私はPHP単位でテストを開発しようとしています!CakePhp3プラグインのテスト - >プラグインのロード中のエラー/クラスがありません
しかし、私はPHPのユニットを呼び出すとき、それは彼がやると言うことが見つからないというようなクラス:
致命的なエラー:クラスの表示\ヘルパー\ BsHelper \ BsHelpersは "Cで見つかりません:\ wamp3 \ WWW \ wac_lucien \ BsHelpers \ BsHelpersCakePHP3 3.2 \プラグイン\ \ BsHelpers 26
だから私はで問題を満たす正確CakePHP3からドキュメントを追跡しようとした後、ライン上のTestCase \ビュー\ヘルパー\ BsHelpersTest.php \テスト\ begenning。今のところ私はそれを持っています:
<?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()
{
}
}
私は問題がbootstrap.phpにあるかもしれないと思います。
が"autoload": {
"psr-4": {
"App\\": "src",
"BsHelpers\\": "./plugins/BsHelpers/src",
"BsHelpers\\Test\\": "./plugins/BsHelpers/tests"
}
},
私はPHPを呼び出す:私が得た私のプラグインのcomposer.jsonで
Plugin::load('BsHelpers', ['path' => ROOT . DS]);
...プラグインローダーのパスが偽することができますが、私はセットアップする方法がわかりませんユニットテスト
(私のプラグインフォルダに)
vendor\bin\phpunit
をやって、私のphpunit.xml.distは
<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>
のように見えます
私のテストを実行中にヘルパーにアクセスできない理由はありますか?
私は本当に私がもう一度テストを実行しようとしたアイデア
autoload設定( 'composer.json')のように聞こえない、またはプラグインベンダーのフォルダから適切なコンポーザーオートローダーを使用していないとします。言及される可能性のある問題に関する追加情報や、実際にテストを実行する/ phpunitを起動する方法の詳細については、誰も推測以外のことをすることはほとんど不可能です。 – ndm
申し訳ありませんが、いくつかの情報を忘れてしまいました!私は最初の質問にそれを追加します! –
そのファイルは奇妙に見えますが、アプリケーションレベルの作曲者ファイルのように見えますが、プラグインではありません!あなたはスタンドアロンのプラグインを開発していますか、それともアプリケーションの一部ですか?また、オートローダ( 'vendor/autoload.php')のロード方法や場所は? – ndm