php - 如何使用 XHProf 从命令行分析 PHPUnit 测试?

标签 php phpunit xhprof

我有一些非常慢的 PHPUnit 测试(43 次测试需要 8 分钟),我需要使用 XHProf 来找出问题所在。

如何从命令行执行此操作?我在项目的/vendor 目录中有 PHPUnit,通过 composer 加载。

最佳答案

要找出哪些测试运行缓慢,您可以使用

通过 Composer 安装监听器,然后在您的 phpunit.xml 中启用它,例如

<phpunit bootstrap="vendor/autoload.php">
...
    <listeners>
        <listener class="JohnKary\PHPUnit\Listener\SpeedTrapListener" />
    </listeners>
</phpunit>

要找出测试运行缓慢的原因,您可以使用

可以在phpunit.xml中配置,例如

 <listeners>
  <listener class="PHPUnit_Util_Log_XHProf" file="PHPUnit/Util/Log/XHProf.php">
   <arguments>
    <array>
     <element key="xhprofLibFile">
      <string>/var/www/xhprof_lib/utils/xhprof_lib.php</string>
     </element>
     <element key="xhprofRunsFile">
      <string>/var/www/xhprof_lib/utils/xhprof_runs.php</string>
     </element>
     <element key="xhprofWeb">
      <string>http://localhost/xhprof_html/index.php</string>
     </element>
     <element key="appNamespace">
      <string>Doctrine2</string>
     </element>
     <element key="xhprofFlags">
      <string>XHPROF_FLAGS_CPU,XHPROF_FLAGS_MEMORY</string>
     </element>
     <element key="xhprofIgnore">
      <string>call_user_func,call_user_func_array</string>
     </element>
    </array>
   </arguments>
  </listener>
 </listeners>

关于php - 如何使用 XHProf 从命令行分析 PHPUnit 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17217228/

相关文章:

php - CakePHP 不会按条件应用组

PHPUnit Selenium,clickAndWait() 函数在 Opera 中不起作用

php - 让 XHProf 可视化(Graphviz 和 dot 的问题)正常工作

php - 如何在自己的服务器上使用Tideways?

php - 如何使用外键将值保存到数据库

php - 如何使用 RecursiveDirectoryIterator 忽略/排除文件夹?

php - document.friendform1.friends[i].checked 在复选框数组中只有一个元素时不起作用

php - 为什么我从闭包中抛出的异常没有被捕获?

Symfony2 phpunit 给出 503 错误