Laravel Dusk功能测试-出现403错误

时间:2018-11-14 15:53:40

标签: laravel phpunit

我在tests / Feature目录中有一个测试文件,内容如下:

<?php

namespace Tests\Feature;

use Tests\TestCase;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;

class UserTest extends TestCase
{
    public function testA()
    {
        $response = $this->actingAs(\App\AdminUser::find(1))
            ->json('GET', '/users');

        $response->assertStatus(200);
    }

    public function testB()
    {
        $response = $this->actingAs(\App\AdminUser::find(1))
            ->json('GET', '/users');

        $response->assertStatus(200);
    }
}

问题在于,执行两个测试时,第二个测试的断言失败,并出现以下错误:Expected status code 200 but received 403.-Laravel由于某种原因抛出了AccessDeniedHttpException

如果我注释掉其中一种测试方法,则另一种可行。

任何想法都会受到赞赏。

---编辑---

这是控制器方法中的内容:

public function index() {
    return view('users.index');
}

以及路由文件中的定义:

Route::group(['prefix' => 'users', 'as' => 'users.'], function () {
    Route::get('/', ['as' => 'index', 'uses' => 'UserController@index']);
    Route::get('datatables', ['as' => 'datatables', 'uses' => 'UserController@datatables']);
    Route::get('show/{id}', ['as' => 'show', 'uses' => 'UserController@index']);
});

---编辑2 --- 原来这是我使用的软件包的问题。进一步的信息:https://github.com/JosephSilber/bouncer/issues/306

0 个答案:

没有答案