Modelのテストを書いていて不思議に思ったので質問させていただきます。
yyyy Model Class
lang
1class yyyy extend Model{ 2 public static function xxxx($limit = 10){ 3 return static::where("status", "=", 1)->take(10)->get(); 4 } 5}
yyyyTest.php
class yyyyTest extends \TestCase{ /** @test */ public function testXXXX(){ factory(\namespace\yyyy::class, 3)->create(); //パターン1 $r = \namespace\yyyy::xxxx(); //パターン2 $r = app(\namespace\yyyy::class)->xxxx(); //assert } }
マジックナンバー使うなとかQueryScopeつかえなどありますがyyyyModelとfunction xxxxあったとして
こいつをテストしたい時にyyyyTestを作ってそのfucntion testXXXXをテストしたい時に
//パターン1 $r = \namespace\yyyy::xxxx();
//パターン2 $r= app(\namespace\yyyy::class)->xxxx();
パターン1とパターン2でどちらも同じことができるんですが
app(\namespace\yyyy::class)
でテストしてる場合を多く見かけます。
どちらが良いのかなぜ良いのかを教えていただけると助かります。
もしくはもっと良い方法があるのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。