#開発環境
ツール | バージョン |
---|---|
Laravel | 7.12.0 |
PHP | 7.3.18 |
#困っていること
Laravelでのhttpのpostメソッドを使用したテストを行ったところ、status code [419]
の結果しか出なかった。csrfトークンの設定が原因だろうからそれの設定の仕方を調べるためにLaravelの公式ドキュメントを参照したところ、自分の予想とは違い設定の仕方は記載しておらず、またドキュメント内のThe CSRF middleware is automatically disabled when running tests.
を見てからこの問題の原因とその解決方法が全く分からなくなってしまった。
どうしたらこのテストでstatus code [419]
以外の結果を出せることができるのか教えていただきたい。
#エラーコード
terminal
1 RUNS Tests\Feature\ContributeTest 2 • post test 3 4 5 FAIL Tests\Feature\ContributeTest 6 ✕ post test 7 8 Tests: 1 failed 9 10 Response status code [419] is not a redirect status code. Failed asserting that false is true. 11 12 at tests/Feature/ContributeTest.php:41 13 37| `picture` => $file, 14 38| `genre` => 'アニメ' 15 39| ]); 16 40| 17 > 41| $response->assertRedirect('/'); 18 42| } 19 43| } 20 44|
#テストコード
php
1<?php 2namespace Tests\Feature; 3 4use Illuminate\Foundation\Testing\RefreshDatabase; 5use Illuminate\Foundation\Testing\WithFaker; 6use Tests\TestCase; 7use Illuminate\Support\Facades\Storage; 8use Illuminate\Http\UploadedFile; 9 10class ContributeTest extends TestCase 11{ 12 public function postTest() 13 { 14 $file = UploadedFile::fake()->image('cinema.jpg'); 15 16 $response = $this->call('POST', '/contribute', [ 17 `title` => 'cuhfehfriwhih', 18 `contents` => 'cnjwbjbbvrwebvjew', 19 `picture` => $file, 20 `genre` => 'アニメ' 21 ]); 22 23 $response->assertRedirect('/');$ 24 } 25} 26?>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。