gpt4 book ai didi

laravel-5 - 在单元测试期间,如何在 Laravel 中使路由模型绑定(bind)工作?

转载 作者:行者123 更新时间:2023-12-04 03:11:26 27 4
gpt4 key购买 nike

我的大部分单元测试都使用 WithoutMiddleware,因此我可以测试 Controller 和资源端点。然而,路由模型绑定(bind)是一个中间件,因此 Controller 无法获得他们需要的模型。

最佳答案

这是我的问题,可能不再相关了。以前是laravel测试可以使用中间件也可以不使用中间件。因此,路由模型绑定(bind)将与其他所有内容一起打开或关闭。现在 Laravel 测试支持省略特定的中间件。所以你可以使用这样的东西......并保持其他中间件包括绑定(bind)的东西。

namespace Tests\Feature;
use App\Http\Middleware\VerifyCsrfToken;
use ...
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Tests\TestCase;

class BankDisplayControllerTest extends TestCase{

use DatabaseTransactions;

//use WithoutMiddleware;

protected function setUp(){
parent::setUp();

$this->withoutMiddleware([VerifyCsrfToken::class]);
}
...

关于laravel-5 - 在单元测试期间,如何在 Laravel 中使路由模型绑定(bind)工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44966106/

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