任何获得php代码覆盖率的方法都可以进行手动测试


Any way to get the php code coverage for manual testing?

我们有一个应用程序,服务器端是用PHP编写的。

现在我想获得手动测试团队的php代码覆盖率,从而帮助他们改进工作。

php代码覆盖率看起来不错,用法如下:

$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。但是我想要的是为我所有的手工测试请求提供一个报告,有办法得到它吗?

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

如果你的测试代码是用PHP写的,你可以把它们写成单元测试。单元测试将有助于更好地组织测试,但您也可以定义多个测试套件。如果你有三个不同的测试,或者三个不同的测试套件,你可以让它们同时运行。此外,如果您让它们同时运行,您可以让它们运行并为所有运行的测试生成代码覆盖率。

这也有真的与phpStorm很好的集成,将显示您在IDE中的覆盖,并突出显示未覆盖的行。

但是,如果你不想使用PHPUnit,只是想合并多个clover.xml文件,这个问题已经有答案了

我们的PHP测试覆盖工具将收集测试覆盖,无论它是如何调用的。

这意味着您可以使用单元测试调用,或者手动调用,或者以您认为合适的任何组合调用。

您可以通过调用PHP外部脚本要求它在任何点获取覆盖率的快照。要获得每次手动操作的覆盖率,只需手动运行您的程序,并在每次手动操作之后获取快照。每一步都将产生单独的测试覆盖率数据,您可以在GUI中单独显示这些数据。显示工具GUI还将组合多个覆盖数据文件,为这些文件所表示的活动集提供覆盖信息。不需要特殊的代码或程序来粘合覆盖文件。

相关文章: