我们有一个应用程序,服务器是用PHP编写的。
现在我想获得手动测试团队的php代码覆盖率,从而帮助他们改进工作。
php code coverage看起来不错,用法如下:
$coverage = new PHP_CodeCoverage;
$coverage->start('<name of test>');
// do the testing
$coverage->stop();
$writer = new PHP_CodeCoverage_Report_Clover;
$writer->process($coverage, '/tmp/clover.xml');
但是如果一个方法有3个分支,那么每次发送请求时,都会有一个报告显示覆盖率为1/3。但我想要的是为我的所有手动测试请求提供报告,有没有办法获得它?
或者每个请求只有一个报告,然后将它们合并。
答案 0 :(得分:2)
如果您的测试代码是用PHP编写的,则可以将其编写为Unit Tests。单元测试将有助于更好地构建测试,但您也可以定义多个测试套件。因此,如果您有三种不同的测试或三种不同的测试套件,您可以让它们一次运行。此外,如果您让它们一次运行,您可以让它们运行and generate code coverage for all tests run。
这也与真正很好地集成了phpStorm,它将在IDE中显示你的报道,并突出显示未覆盖的行。
但是,如果您不想使用PHPUnit,并且只想合并多个<div>
<select>
<option>Test1</option>
<option>Test2</option>
<option>Test3</option>
<option>Test4</option>
</select>
</div>
<div>
<input type="text" value="Test" />
</div>
文件,那么这个问题has already been answered
答案 1 :(得分:0)
无论调用方式如何,我们的PHP Test Coverage Tool都会收集测试覆盖率。
这意味着您可以使用单元测试或手动调用,或以您认为合适的任何组合调用。
您可以通过调用PHP外部脚本让它随时获取coverage的快照。要覆盖每个手动操作,只需手动运行程序,并在每次手动操作后拍摄快照。每个步骤都将生成单独的测试覆盖率数据,您可以在GUI中单独显示这些数据。显示工具GUI还将组合多个覆盖数据文件,以提供这些文件所代表的活动集的覆盖信息。 不需要粘贴覆盖文件的特殊代码或程序。