私はEnterprise Edition 1.13.1のインストールで作業しています(Community Editionでも同じ問題が発生しますが)、コンポーザーを使用して依存関係をインストールします。IvanのEcomdev_PhpUnit拡張機能は、通常のphpunitの依存関係をすべて購入したcomposerを介してインストールしました。また、phpunit.xml.distをvendor / ivanchepurnyi / ecomdev_phpunitからプロジェクトのルートディレクトリにコピーしました。
ユニットテストを初めて実行したときに、次のエラーを受け取りました。
The test was skipped, since vfsStream component is not installed. Try install submodules required for this functionality
その後、次のrequire-devエントリを追加しcomposer.json
て実行しましたcomposer update
:
"mikey179/vfsStream": ">=1.2.0",
ただし、PHPUnitはvfsStreamがインストールされていないことを訴えます。
Ecomdev_PHPUnit拡張モジュールのGitHubリポジトリを見ると、composerの使用時にlibvsfstreamを自動ロードできるようにするパッチがマージされているように見えます。ただし、コンポーザーオートローダーはどこにも含まれていないため、これは部分的な解決策のように見えます。そのため、class_exists呼び出しは依然として失敗します。
/vendor/ivanchepurnyi/ecomdev_phpunit/app/code/community/EcomDev/PHPUnit/bootstrap.php:41を編集して、ブートストラップ中にcomposerオートローダーを含めることができます(または、bootstrap.phpをプロジェクトの別の場所にコピーして編集します) 。これがこの問題の最良の解決策ですか、それともComposerまたはEcomdev_PhpUnitに欠けている機能がありますか?