gpt4 book ai didi

php - 在 PHP 中收集远程代码覆盖率

转载 作者:可可西里 更新时间:2023-11-01 13:24:57 25 4
gpt4 key购买 nike

在我们的项目中,我们正在运行 PHPUnit使用 Selenium 的测试和 Curl在不同的开发服务器上打开页面。服务器 B 有一个运行该网站的 Apache 服务器。服务器 A 通过将项目文件同步 (Rsync) 到开发服务器 B 来启动测试作业,因此两台服务器上的项目文件是相同的。

在 PHP 中远程收集代码覆盖率统计信息有哪些可能性?

我们已经在使用 Xdebug收集在服务器 A 上本地运行的单元测试的代码覆盖率(PHPunit 直接使用项目文件,因此可以 start/stop collecting code coverage report )

更新:

在服务器 B 上,网站由 Apache 运行的 PHP 实例呈现。当使用 Selenium/Curl 对服务器 A 上的 PHP 实例进行午餐测试时,使用命令行版本。该实例无法分析 Apache 在服务器 B 上运行的 PHP 实例。

当运行单元测试时(不使用其他服务器也不使用 Selenium/Curl),我们使用这样的命令:

phpunit --coverage-html ./results/codecoverage/ ATestFile.php

这会在 PHP Cli 中使用 Xdebug 为“ATestFile.php”中的测试生成代码覆盖率报告。

最佳答案

PHPUnit-Selenium Github 上的项目有一个解决方案,我相信 PHPUnit 3.5 中内置的旧版本也有同样的事情。 PHPUnit_Extension_Selenium_TestCase folder里面有文件用于捕获服务器 B 上的代码覆盖率信息。您需要设置 Apache 以添加和附加两个 PHP 脚本——恰本地命名为 prepend.phpappend.php --针对每个请求。

说明在 PHPUnit documentation section on Selenium 中.搜索“追加”。

关于php - 在 PHP 中收集远程代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8254387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com