Laravel 功能测试响应原始属性

Posted

技术标签:

【中文标题】Laravel 功能测试响应原始属性【英文标题】:Laravel feature test response original attribute 【发布时间】:2021-11-04 01:21:21 【问题描述】:

我在 Laravel 8 功能测试中执行以下操作。有以下疑问。在浏览器中,路由 test.dashboard 返回 html 响应而不是 json 响应

    $response 包含一个 Illuminate/Testing/TestResponse 实例。原始属性是什么意思$response->original
    $response = $this->get(route(‘test.dashboard'));
    $tests = $response->original[‘tests'];
    方法assertViewHas是什么意思?它是否检查响应中是否包含文本“测试”?
    $response = $this->get(route(‘test.dashboard'));
    $response->assertViewHas(‘tests);

【问题讨论】:

【参考方案1】:

1. original 属性是什么意思 $response->original ?

original 属性是Illuminate\View\View 对象的一个​​实例。它表示响应对象的原始内容。

通过$response->original['tests'],您正在访问视图数据中的“测试”值。 $response->original 并不是真正的TestResponse 属性,而是$response->baseResponse 中的嵌套属性)

2。方法assertViewHas 是什么意思?它是否检查响应中是否包含文本“测试”?

assertViewHas 方法检查视图是否在其数据中包含“测试”。要在视图中声明文本,您可以查找 assertSee。

【讨论】:

对延迟回复表示歉意。感谢您的信息 很高兴它有帮助!

以上是关于Laravel 功能测试响应原始属性的主要内容,如果未能解决你的问题,请参考以下文章

Laravel五大功能之Eloquent关系模式

使用 Laravel 测试 JSON 响应

Laravel 尝试对 API JSON 响应进行单元测试

laravel的响应及缓存功能

使用Laravel测试JSON响应

Laravel 路由仅在 phpunit 测试期间返回 302 而不是 404 响应