オリジナルで作成したファサード「Common」「Price」という2つのクラスがあります。
今回は「Price」クラスのunittestを行う際の問題です。
Priceクラスの中で、Commonクラスを使っています。
以下、大幅に簡略化しています。
PHP
1use Common; 2Class Price { 3 public function abc($ary) { 4 $value = Common::config('xxx'); 5 $ary[] = $value; 6 } 7}
PriceクラスのUnittestで、上記のCommon::config('xxx')を呼び出すところで以下のエラーが発生します。
ErrorException: Non-static method App\Modules\Common::config() should not be called statically, assuming $this from incompatible context
そこでMockeryというものを使えば解消出来るような情報を見つけたのですが、いまいち使い方がわかりません。
いくつかのサイトの情報などをみながら書いてみましたが、エラーは変わらずです。
Common::shouldReceive('config')->once()->with('xxx')->andReturn('value');
・使い方が間違っている
・使うための手続きが間違っている(足りていない)
・根本が違う
などなど、ご指摘・ご指導お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/25 12:55
退会済みユーザー
2016/05/25 13:10
2016/05/26 03:55
退会済みユーザー
2016/05/26 04:50
2016/07/09 00:11