経緯
APIのUnitテスト中に、テスト結果がうまくいかずテストの中身を見たい場合に使うデバック方法
コントローラー側に直接ログを仕込む
Log::info()で直接ログ仕込んであげる。
特に、RequestやSQL実行する引数などを取ることが多い
Unitテストをわざと失敗させる
APIのレスポンスにもよるけれど、、jsonを返す場合など。
->assertJson(['json' =>''])
中身は適当でわざと失敗させることで、実際の値と期待値を取得することができる。
ポイントは、assertJsonの中身は配列にすること
ddで止めてやる
Unitテスト内でも、コントローラー、モデル側どこでもいいけどddすると処理が止まる。
最後まで処理流したくない時や、怪しいところのその時点の値が見たい時に重宝する。
複数の値をddで見たいときは、「,」で書いてあげればOK
dd($a,$b,$c)
クエリの中身を直接とってやる
ddでもLogでもどちらに記載でもOK
dd(Test::query()->get());
これで、DBの中身が見れる。
コツは、テストするデータの件数をなるべく少なくすること。