現在テストコードを書いているのですが、バリデーション部分でつまづいています。
バリデーションはこちらになっています。 条件は必須、画像であること、最大10MB
です。
'articleThumbnail' => 'required|image|max:10000',
テストコードはFakerの画像生成機能を使っています。
'articleThumbnail' => $faker->image($dir = '/tmp', $width = 64, $height = 48),
このFakerで生成された文はこちらになります。(毎回変わるので1例です)
'/tmp/9657d397fa33ea4537292096...56.jpg'
生成画像が10MB以上なのかと思いましたが、かなり小さい画像を生成しているのでありえません。
こちらがエラー文です
1) Tests\Unit\ArticleTest::testExample with data set #0 (array('Nostrum et mollitia voluptate...ribus.', 'Hic libero ea quidem maxime e...squam.', 'mcclure.amanda', 9, 1, 10, 15, '1996-01-11', '09:23:00', '/tmp/ce21c2a24e96b72b288191a0...5e.jpg'), true) Failed asserting that false matches expected true.
下記のようにコメントアウトするとテストが通るので、画像アップロード部分でエラーが出ているのはわかっています。
原因わかる方いたらお願いいたします。
return [ 'articleTitle' => 'required|string|max:255', 'articleDescription' => 'required|string|max:255', 'articleBody' => 'required', 'authorId' => 'required', 'typeId' => 'required', 'categoryId' => 'required', 'tagIds' => 'required', 'postDate' => 'required|date', 'postTime' => 'required', //'articleThumbnail' => 'required|image|max:10000', ];
return[ [ 'articleTitle' => $faker->sentence(), 'articleDescription' => $faker->sentence(), 'articleBody' => $faker->userName(), 'authorId' => $faker->numberBetween(8, 10), 'typeId' => $faker->numberBetween(1, 2), 'categoryId' => $faker->numberBetween(10, 17), 'tagIds' => $faker->numberBetween(11, 19), 'postDate' => $faker->date(), 'postTime' => $faker->time(), //'articleThumbnail' => $faker->image($dir = '/tmp', $width = 64, $height = 48), ],
あなたの回答
tips
プレビュー