简单的 Laravel Passport 路由测试
Posted
技术标签:
【中文标题】简单的 Laravel Passport 路由测试【英文标题】:Simple Laravel Passeport Route Testing 【发布时间】:2019-10-16 22:36:38 【问题描述】:在为默认 Passport 5.8 路由执行单元测试时遇到一个小问题。
其实我在get模式下测试了路由/oauth/clients:
/** @test */
public function getOauthClients()
$user = factory(User::class)->make();
$response = $this->actingAs($user)->getJson('/oauth/clients');
$response->assertSuccessful();
但是当我想在 get 模式下测试默认提供的路由时: /oauth/token ,我不知道我需要遵循哪些步骤。
提前谢谢你。
【问题讨论】:
【参考方案1】:您应该尝试:
Passport::actingAs(
factory(User::class)->create()
);
$response = $this->getJson('/oauth/clients');
// ...
Passport 附带了一些用于此目的的测试助手,例如上面的 actuator 方法。
引用documentation:
Passport 的actingAs 方法可用于指定当前经过身份验证的用户及其范围。 ActingAs 方法的第一个参数是用户实例,第二个参数是应授予用户令牌的范围数组:
【讨论】:
谢谢。如何继续测试路线:/oauth/token. 那么您应该尝试使用该问题的答案之一:***.com/questions/50113508/…以上是关于简单的 Laravel Passport 路由测试的主要内容,如果未能解决你的问题,请参考以下文章
Laravel Passport - 保护不同用户类型的路由
如何使用 Laravel Passport 组织这样的路由保护?
404 - 未找到存在 Laravel 8 的 Passport Api 路由