質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

PHPUnit

PHPUnitは、PHP向けのユニット・テスト向けフレームワークで、手動では手間のかかるテスト作業を自動化し、繰り返し実行することが可能です。

Q&A

0回答

899閲覧

至急!テストのエラーが解決しない!!

oooz

総合スコア9

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

PHPUnit

PHPUnitは、PHP向けのユニット・テスト向けフレームワークで、手動では手間のかかるテスト作業を自動化し、繰り返し実行することが可能です。

0グッド

2クリップ

投稿2023/02/02 15:48

実現したいこと

お疲れ様です。
至急お尋ねしたいのですが、laravel9のphpunitを使用してCRUDのテストを行いたいのですが、下記のエラーが表示され、それ以降先に進めません。
テストの記述の仕方はこちらのサイトを参考にしています。https://tenrakatsuno.com/programing-note/laravel-crud-test/
バリデーションがおかしいのかと思い見直したり、requestの中に新しいファイルを作り記載もしてみましたが解決しません(こちらのサイトを参考にしました。https://zenn.dev/yumemi_inc/articles/4f1940b78206c3

2時間ほど悩んでも解決しないため、わかる方がいれば教えていただきたいです。

前提

laravel9のphpunitを使用し、CRUDの機能テストを行いたいが、こちらのエラーが表示され進まない。

phpunit

1 public function test_userChange() 2 { 3 $user = User::factory()->create(); 4 5 $response = $this->actingAs($user)->get('change/{$user->id}/edit'); 6 7 $response->assertOk(); 8 9 $itemdata = [ 10 'changename' => '編集成功', 11 'changeemail' => 'testtest.test@test', 12 'changeimg' => 'images/20200501_noimage.jpg', 13 ]; 14 15 $update_url = route('change.update', $user->id); 16 17 $response = $this->PATCH($update_url, $itemdata); 18 19 $response->assertSessionHasNoErrors(); 20 21 $response->assertStatus(302); 22 23 $response->assertRedirect(route('list.index')); 24 25 $this->assertDatabaseHas('users', ['name' => '編集成功']); 26 } 27 28 public function test_message() 29 { 30 // 認証ユーザーにして、作成ページに行ける事 31 $user = User::factory()->create(); 32 $response = $this->actingAs($user)->get(route('message.create')); 33 $response->assertStatus(200); 34 $response->assertViewIs('post'); 35 36 $posttext = [ 37 'message' => 'テスト' 38 ]; 39 40 // $url = route('message.store'); 41 $response = $this->post(route('message.store', $posttext)); 42 43 $response->assertSessionHasNoErrors(); 44 45 $response->assertStatus(302); // リダイレクト 46 47// $response->assertRedirect('/'); 48 49// // 保存したitemがデータベースに存在するか確認。 50 $this->assertDatabaseHas('Messages', ['message' => 'テスト']); 51 52 $response = $this->get(route('list.index')); 53 54 $response->assertStatus(200); 55 56 $response->assertSeeText('一覧'); 57 58 // 一覧ページに移動 59 $response = $this->get(route('list.index')); 60 61 $response->assertStatus(200); 62 63 $response->assertViewIs('list.index'); 64 65 // 先ほど投稿したitemのtitleと一致するものが表示されているか 66 $response->assertSeeText($massage['テスト']); 67 68 }

発生している問題・エラーメッセージ

There were 2 failures: 1) Tests\Feature\userTest::test_userChange Session has unexpected errors: { "default": [ "validation.file", "validation.image", "validation.mimes" ] } Failed asserting that true is false. The following errors occurred during the last request: validation.file validation.image validation.mimes /Applications/MAMP/htdocs/名前リ/vendor/laravel/framework/src/Illuminate/Testing/TestResponse.php:1389 /Applications/MAMP/htdocs/名前/tests/Feature/userTest.php:146 2) Tests\Feature\userTest::test_message Session has unexpected errors: { "default": [ "validation.required" ] } Failed asserting that true is false. /Applications/MAMP/htdocs/名前/vendor/laravel/framework/src/Illuminate/Testing/TestResponse.php:1389 /Applications/MAMP/htdocs/名前/tests/Feature/userTest.php:201 FAILURES! Tests: 22, Assertions: 35, Failures: 2.

該当のソースコード

ソースコード

試したこと

サイトで「laravel9 テスト バリデーションエラー」などと検索し、コードを探したが解決していない。

補足情報(FW/ツールのバージョンなど)

初心者のため、何かあればおっしゃってください

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2023/02/02 17:09

「至急!」と言われても困ります。回答する側は純粋なボランティアなので。
退会済みユーザー

退会済みユーザー

2023/02/03 02:21

> 初心者のため、何かあればおっしゃってください 「至急!」とか書くのは逆効果です。自分の都合しか考えてない自分勝手な質問者と思われて、タイトルを見ただけでスルーする人も多いはずですので。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問