Copy & Paste Engineer

【Laravel】PHPUnit 419 エラー対応

【Laravel】PHPUnit 419 エラー対応

Laravel の PHPUnitで 419 エラーが出た際の対応方法メモ。

419 エラーはCSRFエラーになります。 そのためテスト時にはCSRFチェックをしないようにする必要があります。

テスト時にCSRFチェックをしない

特定環境でCSRFチェックをしないようします。 app/Http/Middleware/VerifyCsrfToken.phphandle メソッドを追加します。

<?php

namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;

class VerifyCsrfToken extends BaseVerifier
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        //
    ];

    public function handle($request, \Closure $next)
    {
        // PHPUnit用
        if (env('APP_ENV') !== 'test') {
            return parent::handle($request, $next);
        }

        return $next($request);
    }
}

参考