有什么方法可以获得手动测试的PHP代码覆盖率?

时间:2016-08-17 10:40:56

标签: php testing code-coverage

我们有一个应用程序,服务器是用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。但我想要的是为我的所有手动测试请求提供报告,有没有办法获得它?

或者每个请求只有一个报告,然后将它们合并。

2 个答案:

答案 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还将组合多个覆盖数据文件,以提供这些文件所代表的活动集的覆盖信息。 不需要粘贴覆盖文件的特殊代码或程序。