
PHPUnitでValidationのテストをしたいんだけど、どうしたらいいのかな?
具体的なソースコードもあると嬉しいな。
こんな悩みを解決します。
- 本記事の内容
- PHPUnitでValidationのテストをする方法
- 具体的な手順とソースコード
- 本記事の執筆者
プロフィール


- 元エンジニア(歴7年)、資格保有数約20個(IT系以外も含む)
- 物販月利50万円⇒脱サラ
- 物販、システム開発、アフィリエイト、プログラミング、投資をやっています。
- 物販は彼女と楽しみながらやっています!
今回は、LaravelのPHPUnitでValidationのテストをする方法を解説します。



すぐ読み終わるので、是非最後まで読んでみてください!
よく読まれている記事はこちら!
目次
まずはRequestsファイルを作成
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UserRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return false;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'username' => 'required|max:100',
];
}
}
Requestsファイルを作成しました。
ユーザ名という項目に対して、「必須チェック」と「最大文字数チェック」のバリデーションが付いています。
ユニットテスト用ファイルの作成
<?php
namespace Tests\Unit\Requests;
use App\Http\Requests\UserRequest;
use Tests\TestCase;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Support\Facades\Validator;
class UserRequestTest extends TestCase
{
/**
* バリデーションテスト
*
* @param 項目名
* @param 値
* @param 期待値
*
* @dataProvider dataprovider
*/
public function testBasicTest(string $item, string $data, bool $expect): void
{
$request = new UserRequest();
$rules = $request->rules();
$dataList = [$item => $data];
$validator = Validator::make($dataList, $rules);
$result = $validator->passes();
$this->assertEquals($expect, $result);
}
/**
* データプロバイダ
*
* @return データプロバイダ
*
* @dataProvider dataprovider
*/
public function dataprovider(): array
{
return [
'expect' => ['username', 'ユーザ名', true],
'required' => ['username', null, false],
'required' => ['username', '', false],
'max' => ['username', str_repeat('a', 101), false],
'max' => ['username', str_repeat('a', 100), true],
];
}
}
ユニットテスト用ファイルです。
PHPUnitを実行
phpunit
テストを実行して問題なければOKです!
まとめ
今回は、LaravelのPHPUnitでValidationのテストをする方法を解説しました。
バリデーションのテストも意外と簡単でしたね。
ではまた!
- おすすめ本はこちら!



僕は↑の本でLaravelの勉強をしました!
非常に分かりやすいのでおすすめです!
- 自由な生き方がしたいなら!
自由な生き方をするためには、稼ぐスキルを身に付けなければなりません。
当サイト「リバトレ」では稼ぐスキルに関する情報を日々発信しているので、興味のあるものから見て頂ければ嬉しいです。
稼ぐスキルを身に付けよう!!
コメント