gpt4 book ai didi

php - 测试 Laravel 护照

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:46:35 28 4
gpt4 key购买 nike

我有一个问题 - 我正在为我的 api 使用 Laravel Passport。我需要编写测试。每当我在测试中使用 WithoutMiddleware 特性时,它都会禁用我使用的 Implicit route model binding 特性。每当我不使用该特征时,我需要直接从我的测试中进行身份验证。为此,我需要通过 Passport 创建一个 API token 。

但是,需要在通过 artisan passport:install 进行测试之前安装 Passport,因为我的测试使用的是 DatabaseTransactionsDatabaseMigrations 特征。当我这样做时,测试会花费大量时间来运行,我觉得这不是正确的方法。有没有办法只禁用 auth 中间件?或者还有其他想法吗?

最佳答案

聚会有点晚了,但根据这个issue目前不支持此功能,也没有计划很快更改。

但是,所有 Laravel 测试类都继承了 withoutMiddleware 方法,您可以使用它来 disable middleware on specific methods .不确定这是否对您有帮助,但只是把它扔在那里:

public function testBasicExample()
{
$this->withoutMiddleware();

$this->visit('/')
->see('Laravel 5');
}

您还可以通过在 Application 实例上调用 runningUnitTests() 方法来检查测试是否在中间件本身内运行。

关于php - 测试 Laravel 护照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40207371/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com