如何为邮递员 API 请求编写 Laravel PHPUnit 测试

Posted

技术标签:

【中文标题】如何为邮递员 API 请求编写 Laravel PHPUnit 测试【英文标题】:How to write Laravel PHPUnit tests for postman API requests 【发布时间】:2019-06-10 01:23:28 【问题描述】:

我有 Postman API 请求(POST 请求),其中包含 grant_type = 'password'、username = 'abc'、password='xyz'。通过传递这个,我得到一个 token = 'xxx' 和 token_type = 'Bearer'。如何在 laravel 中为此类 api 请求编写 phpunit 测试?

【问题讨论】:

【参考方案1】:

您可以通过php artisan make test:PassportTest进行测试。

然后就可以使用了

$response = $this->json('POST','/api/token',['grant_type'=>'password','username'='abc','password'=>'xyz']);
$response-> assertJsonStructure([
    'token'=>'xxx',
    'token_type'=>'Bearer'
]);

您也可以使用$response->assertDatabaseHas($tokenTable,$data)查看您的数据库中是否有记录;

看不到您的数据库结构,因此您需要稍作改动以适应您自己的项目。

【讨论】:

以上是关于如何为邮递员 API 请求编写 Laravel PHPUnit 测试的主要内容,如果未能解决你的问题,请参考以下文章

API POST 请求在邮递员和 Laravel 上返回 404 NOT FOUND PAGE

如何为路由组中的所有请求设置标头

Laravel 请求验证不适用于邮递员请求

如何为具有 Spring Security 配置的 Spring Boot API 编写单元测试

如何为需要用户身份验证的API构建Rspec请求测试

Laravel api路线与邮递员不工作