[Laravel]Unitテストのデバックする方法メモ

経緯

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の中身が見れる。

コツは、テストするデータの件数をなるべく少なくすること。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です