我刚刚根据docs验证了我的API。
现在,我用phpunit进行的功能测试已经破了。我收到“Unauthenticated”错误。
我尝试使用中间件,推荐here,但它没有用。
我想我需要在请求中包含csrf fiels,但我真的不知道如何进行测试
这是我的测试:
$this->json('POST', '/api/v1/category/create',$data)
->seeJson($data)
->seeInDatabase('category', $data);
知道我该怎么办?
答案 0 :(得分:2)
您可以使用Illuminate\Foundation\Testing\WithoutMiddleware
特性,它可以绕过认证中间件(但也包括所有其他中间件)。
更具弹性的方法是使用the built-in testing handling进行身份验证。传递actingAs
函数的有效用户将执行您的测试,就好像该用户已登录一样。
$user = factory(App\User::class)->create();
$this->actingAs($user)->visit('/');