私はいくつかのテストを書いています。私MustBeAdministrator.php
ミドルウェアでLaravel&phpunitが期待されるhttpエラーコードを設定しました
/** @test */
public function a_normal_user_cannot_access_the_admin_panel()
{
// Note: This is a regular user, not an admin
$user = factory(User::class)->create();
$this->actingAs($user);
$this->visit('/admin');
// ????
}
::私は/admin
にアクセスすると
public function handle($request, Closure $next)
{
$user = $request->user();
if ($user && $user->isAdmin) {
return $next($request);
}
abort(403);
}
、ミドルウェアは403エラーで中断しますここに私のテストです。どのように私はhttpエラーがスローされたphpunitでアサートすることができますか?私は$this->setExpectedException()
について知っているが、httpエラーでうまく動作しない。これは間違っているのですか?
注:私は非常にphpunitと例外も新しくなっています。だから、これはばかげた質問です。他のファイルが必要な場合はrepo for this project、または尋ねることができます。
を使用することができますねえ、あなたが投稿することができますあなた自身の質問への答え、それは禁止されていません:) – iScrE4m
@ iScrE4m私はそれに答えましたが、2日間回答としてそれを受け入れることはできません:(私はそれを受け入れるでしょう) –
ああ申し訳ありませんが、あなたの答えを正しいものとしてマークしてください。 – iScrE4m