CRUD API@laravel8で、テストコードを書いてみた

CRUD API@laravel8で、テストコードを書いてみた

1, 最初からあるサンプルのテストコードを実行してみる。
windowsだと区切り文字が円マークなので注意!

laravelなら、php artisan test が楽。全テストを実行する!

2. 何をテストしているかコードを見てみる
laravelプロジェクトのルートにアクセスして、HTTPレスポンスが200かどうかをテストしているようだ

tests/Feature/ExampleTest.php

2. わざと失敗するようなコードを書いてみる

ちゃんと失敗した。$response->assertStatus(404);だと成功になる

3. 駅のCRUD APIのテストコードを書いてみる

デフォルトでtest_example()があるが、新規にtest_xxxxxxx()を追加すれば、自動的にテストしてくれる

tests/Feature/StationTest.phpが生成される

4. 自作テストを実行してみる。問題なく実行できる。

5. 実際にテストしたい内容を書いてテストしてみる。

6. 真面目にCRUD APIのテストコードを書いてみる。
a. INSRT(新規作成)
b. SHOW(新規作成したレコードの詳細表示)
c. UPDATE(新規作成したレコードを更新)
b. SELECT(更新したレコードを検索)
e. DELETE(作ったレコードを削除)

これで、一通りのCRUD API動作テストは出来るかな?

7. INSRT(新規作成)

8. 新規作成は問題なく終わったけど、戻り値のJSONチェックがしたい!
なんなら、CRUD APIを全部テストして欲しい!
一気にコーディングして、リファクタリングしてみた。

基本のCRUD APIのテストは、こんな感じで行けそうだ!