如何在功能测试中使用分析器

编辑本页

如何在功能测试中使用分析器

强烈建议功能测试只测试响应。但是,如果您编写监视生产服务器的功能测试,那么您可能希望在分析数据上编写测试,因为它为您提供了一种检查各种事情和执行某些指标的好方法。

在测试中启用分析器

收集数据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测试WebTestCaseLuckyControllerTest扩展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许可证。
ob娱乐下载Symfony 6.2支持通过苏禄人
ob娱乐下载Symfony 6.2支持通过Les-Tilleuls.coop