【发布时间】:2020-06-01 09:04:33
【问题描述】:
运行 7.10 的 Lavarvel 应用程序
我有一个在多个路由上被调用的中间件。它检查用户是否建立了正确的关系以到达所需的目的地(这并不重要)。
我想要一个简单地断言用户访问中间件中的$next($request) 的测试。我当然可以只打一个端点,然后断言一些东西会反过来验证中间件,但是所有路由都命中外部 api 以获取我可以在测试中模拟的一些其他数据,这些看起来都很丑陋只是为了测试一个中间件类。
我的测试可以建立相关关系等,所以每当调用中间件时,它应该允许我直接进入。
如果我这样做......
/** @test */
public function middleware_successful_test()
{
$user = factory(User::class)->create();
// some other factoried user relations here
$this->actingAs($user);
$request = new Request;
$middleware = app(MiddlewareClass::class);
$result = $middleware->handle($request, function ($req) {});
// don't know what assert here. $result is basically empty
}
任何提示,欢迎提出建议。
【问题讨论】:
-
也许使用管道?
标签: laravel testing phpunit middleware