我正在尝试使用phpunit测试我在laravel 5中编写的Web服务.我是这个测试框架的新手.该应用程序使用JWT进行身份验证,该请求在请求中的标头中传递.
我的测试看起来像这样:
$response = $this->call('POST', 'authenticate', [
'username' => 'carparts',
'email' => 'admin@admin.com',
'password' => 'password'
]);
$token = 'Bearer ' . json_decode($response->getContent())->token;
$response = $this->call('POST', 'users', [
"first_name" => "Test",
"last_name" => "Test",
"email" => 'test@test.com',
"password" => "testing",
"role" => "1"
], [], [], [
'Authorization' => $token
]);
dd($response->getContent());
令牌返回正常,但是当我尝试在下一个请求中使用创建新用户时,它无法说明令牌无法从请求中解析.当我在中间件中请求() – >标头进行检查时,即使没有显示标题.我究竟做错了什么?如何使用PHPUnit在请求中传递标头?
最佳答案 有一个功能可以将标头转换为服务器变量.尝试传递这个:
$this->transformHeadersToServerVars([ 'Authorization' => $token ])