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

编辑本页

警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.6,现已不再维护。

本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。

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

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

Symfob娱乐下载ony分析器为每个请求收集大量数据。使用这些数据来检查数据库调用的数量、在框架中花费的时间等。但是在编写断言之前,启用分析器并检查分析器是否确实可用(在测验环境):

12 3 4 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
HelloControllerTest扩展WebTestCase公共函数testIndex()客户端静态::createClient ();//为下一个请求启用分析器//(如果分析器不可用,它什么都不做)客户端->enableProfiler ();履带客户端->请求(“得到”' / hello /法”);/ /……写一些关于响应的断言//检查profiler是否启用如果配置文件客户端->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());

谨慎

根据环境的不同,分析器存储可以有所不同(特别是如果您使用SQLite存储,这是默认配置的存储)。

请注意

即使隔离了客户端,或者在测试中使用HTTP层,分析程序信息也是可用的。

提示

阅读内置的API数据收集器以了解更多关于他们的接口。

通过不收集分析器数据来加速测试

为避免在每次测试中收集数据,可以设置收集参数为false:

  • YAML
  • XML
  • PHP
1 2 3 4 5 6 7
# app / config / config_test.yml#……框架:分析器:启用:真正的收集:

用这种方法只测试该调用客户端- > enableProfiler ()将收集数据。

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。