Php Symfony 2 TDD在功能测试中获取原始数据
所以我在YT上观看了亚当·沃特汉和他的现场TDD拉威尔。他做了一件非常有趣的事,引起了我的共鸣。当他编写功能测试时,他不会对返回的html进行断言(因为前端开发人员可以更改html),但是Laravel在testPhp Symfony 2 TDD在功能测试中获取原始数据,php,symfony,phpunit,functional-testing,Php,Symfony,Phpunit,Functional Testing,所以我在YT上观看了亚当·沃特汉和他的现场TDD拉威尔。他做了一件非常有趣的事,引起了我的共鸣。当他编写功能测试时,他不会对返回的html进行断言(因为前端开发人员可以更改html),但是Laravel在test$this->response->getOriginalContent()->getData()中提供了此调用,您可以从中获取原始数据并对其进行断言 我曾尝试在测试中获取原始响应数据,但没有成功。在Symfony测试中是否可能获取原始数据?如果是,怎么做 更新: 这里是YT链接。从他解释
$this->response->getOriginalContent()->getData()
中提供了此调用,您可以从中获取原始数据并对其进行断言
我曾尝试在测试中获取原始响应数据,但没有成功。在Symfony测试中是否可能获取原始数据?如果是,怎么做
更新:
这里是YT链接。从他解释整个想法开始。
据我所知,在这种情况下,它不是功能测试,而是对控制器返回数据的单元测试。原始内容和数据是什么?你的主张是什么?请以我们不必观看视频的方式重新表述您的问题,以防将来链接无法工作,例如,因为视频已被删除。您可以调用
$client->getResponse()
来获取响应对象并对其进行断言,而不是使用爬虫程序。这回答了你的问题吗?@我不会称之为单元测试。对我来说,就像对亚当一样,它仍然起作用。@dbrumann的想法是测试路线。但不是查询html,而是测试传递给模板的变量。例如,假设您有一些价格变量,前端开发人员将其编码为$59.00,然后创建测试以在html中查找值$59.00。然而,在某些情况下,designer将格式更改为$59,前端开发人员将更新模板。功能测试与风格无关。所以这种改变应该通过测试而不改变测试。您的建议(symfony docs也建议)是绑定您的测试模板实现。如果您想测试路由,那么如果GET/acme/demo
正确解析,您可以创建一个客户端,发送请求,然后按照文档中的描述从客户端获得响应。如果存在所需的标题,您可以从请求中断言状态代码(200)以及更多:所有这些都不依赖于html输出。