コントローラのテスト中に認証を完全にスキップする組み込みの方法はありますか?Laravelアプリケーションの機能テスト中に認証をスキップ
サンプルコントローラ:私はSMTを追加したくない
public function boot(GateContract $gate)
{
$gate->define('change-password', function ($user) {
// Some complex logic here
});
}
:
public function changePassword(Request $request, LdapInterface $ldap)
{
$this->authorize('change-password');
$this->validate($request, [
'pass' => 'min:8|confirmed|weakpass|required',
]);
$success = $ldap->updatePassword($request->get('pass'));
$message = $success ?
'Your e-mail password has been successfully changed' :
'An error occured while trying to change your alumni e-mail password.';
return response()->json(['message' => $message]);
}
私のようなAuthServiceProvider
内で定義されてchange-password
ルールを、スキップしたいです。コードの中にif (env('APP_ENV') == 'testing') return;
のように。
。 OPは、それをミドルウェアに移して、その特性が何らかの使用になるようにする必要があります –