如何在 Laravel PHPUnit 测试中获取响应变量?
How to get Response variables in a Laravel PHPUnit test?
我正在测试控制器方法,我正在测试中访问路由。
然后我想确保在视图中返回了正确的模型并加载了所有正确的关系。
我知道我可以做到:
$this->assertViewHas("content");
但是我如何才能验证返回到视图中的内容模型是否具有正确的类别,例如类别?即我怎样才能得到内容模型对象然后做类似
的事情
$this->assertEquals($content->category->name, "category 1");
?
您可以从这样的回复中获取您的内容:
$content = $response->getOriginalContent()->getData()['content'];
getData()
returns 将数据作为数组发送到视图。
使用assertSee()
:
$response->assertSee("category 1");
您可以使用以下方法获取传递给视图的数组:
$response->original->getData()
这来自Illuminate/Http/ResponseTrait (link to docs).
您可以使用
$your_desired_data = $response->assertSee('var_tag');
如果它是一个数据数组,您可以通过以下方式访问它的数据:
$first_name = $your_desired_data['first_name'];
我正在测试控制器方法,我正在测试中访问路由。
然后我想确保在视图中返回了正确的模型并加载了所有正确的关系。
我知道我可以做到:
$this->assertViewHas("content");
但是我如何才能验证返回到视图中的内容模型是否具有正确的类别,例如类别?即我怎样才能得到内容模型对象然后做类似
的事情$this->assertEquals($content->category->name, "category 1");
?
您可以从这样的回复中获取您的内容:
$content = $response->getOriginalContent()->getData()['content'];
getData()
returns 将数据作为数组发送到视图。
使用assertSee()
:
$response->assertSee("category 1");
您可以使用以下方法获取传递给视图的数组:
$response->original->getData()
这来自Illuminate/Http/ResponseTrait (link to docs).
您可以使用
$your_desired_data = $response->assertSee('var_tag');
如果它是一个数据数组,您可以通过以下方式访问它的数据:
$first_name = $your_desired_data['first_name'];