HNy*_*ard 6 php phpunit integration-testing code-coverage
在我们的项目中,我们运行PHPUnit测试,使用Selenium和Curl在不同的开发服务器上打开页面.服务器B有一个运行服务网站的Apache服务器.服务器A通过将项目文件同步(Rsync)到开发服务器B来启动测试作业,因此两个服务器上的项目文件是相同的.
在PHP中远程收集代码覆盖率统计信息有哪些可能性?
我们已经在使用Xdebug来收集在服务器A上本地运行的单元测试的代码覆盖率(PHPunit直接使用项目文件,因此可以开始/停止收集代码覆盖率报告)
更新:
在服务器B上,Web站点由Apache运行的PHP实例呈现.当使用Selenium/Curl对服务器A上的PHP实例进行测试时,使用命令行版本.该实例无法分析Apache在服务器B上运行的PHP实例.
运行单元测试(不使用其他服务器而不使用Selenium/Curl)时,我们使用如下命令:
phpunit --coverage-html ./results/codecoverage/ ATestFile.php
Run Code Online (Sandbox Code Playgroud)
这将通过在PHP Cli中使用Xdebug在"ATestFile.php"中生成测试的代码覆盖率报告.
Github 上的PHPUnit -Selenium项目对此有一个解决方案,我相信 PHPUnit 3.5 中内置的旧版本也有同样的功能。PHPUnit_Extension_Selenium_TestCase文件夹中有一些文件可用于捕获服务器 B 上的代码覆盖率信息。您需要将 Apache 设置为在每个请求前面和后面添加两个 PHP 脚本(恰当地命名为prepend.php和append.php)。
这些说明位于Selenium 的 PHPUnit 文档部分。搜索“追加”。
| 归档时间: |
|
| 查看次数: |
2339 次 |
| 最近记录: |