我在测试授权策略时遇到了问题,它显示了一个风险测试,我不知道如何解决这个问题.这是一个新安装的laravel 5.5
PHPUnit 6.5.13 by Sebastian Bergmann and contributors. R. 2 / 2 (100%) Time: 99 ms,Memory: 16.00MB There was 1 risky test: 1) Tests\Feature\ExampleTest::testBasicTest Test code or tested code did not (only) close its own output buffers OK,but incomplete,skipped,or risky tests! Tests: 2,Assertions: 2,Risky: 1.
这是我的测试代码:
public function testBasicTest() { $this->get('/home') ->assertStatus(403); }
当我使用dd($this-> get(‘/ home’) – > getContent());时,我收到类似这样的错误.
file_get_contents([internal]): Failed to open stream: No such file or directory in Frame.PHP line 122
这是我的家庭控制器
<?PHP namespace App\Http\Controllers; use App\User; use Illuminate\Http\Request; class HomeController extends Controller { /** * Show the application dashboard. * * @return \Illuminate\Http\Response */ public function index() { $this->authorize('create',User::class); return view('home'); } }
这是我的UserPolicy.PHP
<?PHP namespace App\Policies; use App\User; use Illuminate\Auth\Access\HandlesAuthorization; class UserPolicy { use HandlesAuthorization; /** * Create a new policy instance. * * @return void */ public function __construct() { // } public function create(User $user) { return true; } }
这是我的AuthServiceProvider.PHP
<?PHP namespace App\Providers; use Illuminate\Support\Facades\Gate; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; use App\User; use App\Policies\UserPolicy; class AuthServiceProvider extends ServiceProvider { /** * The policy mappings for the application. * * @var array */ protected $policies = [ User::class => UserPolicy::class,]; /** * Register any authentication / authorization services. * * @return void */ public function boot() { $this->registerPolicies(); // } }
额外:
我看到了这个:https://phpunit.readthedocs.io/en/7.4/risky-tests.html
我尝试将所有这些设置为错误,但风险仍在显现.