Magento EE 1.13で設定されたEcomDev_PHPUnit


18

の手順に従って、EE 1.13でEComDev_PHPUnitをセットアップしようとしています。

https://github.com/EcomDev/EcomDev_PHPUnit

まあ最初のハードルはmodmanを動かすことでしたが、私はあきらめてモジュールを手動でコピーしました。2番目の問題はステップ2にあります:私が実行するとき

php ecomdev-phpunit.php -a magento-config --db-name $DB_NAME --base-url http://your.magento.url/

という例外が表示されます

 PHP Fatal error : Class 'Mage_Core_Model_Factory' not found in '../../../shell/abstract.php' on line 88

行って、abstract.phoにrequire_onceでファクトリパスを追加しましたが、別のクラスが見つからないというエラーがスローされます...

誰もこれに遭遇しましたか?VirtualBoxでUbuntu 12.10を使用しています。これに関する助けをいただければ幸いです。

解決策または一時的な解決策:

追加しなければならなかった

require_once '../app/code/core/Mage/Core/Model/Factory.php';
require_once '../app/Mage.php';

の最初の行として ../shell/ecomdev-phpunit.php

それがうまくいった。私はそれが正しいか間違っているのかわかりません:)専門家の提案を歓迎します

回答:


5

上記の更新に基づいて、元の質問者が問題を解決したようです

解決策または一時的な解決策:

追加しなければならなかった

require_once '../app/code/core/Mage/Core/Model/Factory.php';

require_once '../app/Mage.php';

../shell/ecomdev-phpunit.phpの最初の行として

それがうまくいった。私はそれが正しいか間違っているのかわかりません:)専門家の提案を歓迎します


1

確認のため、EcomDev_PHPUnitコードベースの最新のdevブランチがこの問題を解決し、EE1.13およびCE1.8との互換性を確保しました。

https://github.com/EcomDev/EcomDev_PHPUnit/commit/669230422da701ba53b1cc5f98f17ccb273e3b9e


開発ツリーの代わりに実際のコミットを指すことができますか?同じ方法で問題が解決するので、その修正方法を確認できます。
トーマスヴァンダースティチェレ

0

ここでメモを投げるだけです(たぶん役立つでしょう)。何らかの理由で$_includeMage設定されている保護変数がありますfalse

true問題を解決するように設定すると、アランが明示的に言及したファイルを追加する必要はありません。以降MageにインポートされMage_Shell_Abstractたクラス、およびMage_Core_Model_Factory(によって登録されたオートローダーによってインポートされますMage)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.