如何在功能测试中使用分析器
编辑本页如何在功能测试中使用分析器
强烈建议功能测试只测试响应。但是,如果您编写监视生产服务器的功能测试,那么您可能希望在分析数据上编写测试,因为它为您提供了一种检查各种事情和执行某些指标的好方法。
在测试中启用分析器
收集数据Symfob娱乐下载ony Profiler会显著降低测试速度。这就是Symfony默ob娱乐下载认禁用它的原因:
- YAML
- XML
- PHP
1 2 3 4 5
#配置/包/测试/ web_profiler.yaml#……框架:分析器:{启用:真正的,收集:假}
设置收集
来真正的
为所有测试启用分析器。但是,如果只在少数测试中需要该分析器,则可以全局禁用它,并通过调用在每个测试中单独启用该分析器客户端- > enableProfiler ()
.
测试分析器信息
Symfony Profiler收集的数据可用于检查ob娱乐下载数据库调用的数量、在框架中花费的时间等。所有这些信息都是由通过客户端- > getProfile ()
电话:
12 34 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
/ /测试/控制器/ LuckyControllerTest.php名称空间应用程序\测试\控制器;使用ob娱乐下载\包\FrameworkBundle\测试\WebTestCase;类LuckyControllerTest扩展WebTestCase{公共函数testRandomNumber(){$客户端=静态::createClient ();//只对下一个请求启用剖析器(如果你使//新的请求,你必须再次调用这个方法)//(如果分析器不可用,它什么都不做)$客户端->enableProfiler ();$履带=$客户端->请求(“得到”,“幸运/数量”);/ /……写一些关于响应的断言//检查分析器是否启用如果($配置文件=$客户端->getProfile ()) {//查看请求数$这->assertLessThan (10,$配置文件->getCollector (“数据库”)->getQueryCount ());//检查在框架中花费的时间$这->assertLessThan (500,$配置文件->getCollector (“时间”)->getDuration ());}}}
如果测试由于分析数据而失败(例如,太多的DB查询),您可能希望在测试结束后使用Web分析器分析请求。它可以通过在错误消息中嵌入令牌来实现:
1 2 3 4 5 6 7 8
$这->assertLessThan (30.,$配置文件->getCollector (“数据库”)->getQueryCount (), sprintf ('检查查询计数小于30(令牌%s)',$配置文件->getToken());
请注意
剖析器信息是可用的,即使您隔离客户端或者使用HTTP层进行测试。
提示
阅读内置的API数据收集器以了解更多关于他们的接口。
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。