php-unitでMage::getSingleton('checkout/cart')をモックする方法は?
P粉244730625
P粉244730625 2024-04-03 13:48:23
0
1
523

この foo() メソッドがあり、Magento でこのメソッド testFoo() の単体テスト ケースを追加する必要があります。ただし、Mage::getSingleton('checkout/cart') はシミュレートできません。

ソースメソッド

リーリー

テスト関数

リーリー

実行すると、php-unit がこのエラー ログを受け取ります。

リーリー

Mage::getSingleton('checkout/cart') をシミュレートする方法、いくつかの解決策が必要です。

: main メソッドはレガシー コードであるため、変更できません。単体テスト ケースを追加するだけです。

P粉244730625
P粉244730625

全員に返信(1)
P粉588152636

Mage::getSingleton('checkout/cart') はグローバル名前空間の静的関数であるため、モックすることはできません。

ただし、チェックアウト カード シミュレーションを挿入することで、

メタプログラミング を使用してシミュレーションを挿入できます。次に、その場所に元のシングルトンを復元します。

EComDev Testsuite から継承された既存の Q&A と比較してください。この Q&A には、

PHP Reflection を使用して内部構造を処理する方法に関する詳細なヒントが含まれています。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート