【问题标题】:Any way to get the php code coverage for manual testing?有什么方法可以获得手动测试的 php 代码覆盖率?
【发布时间】:2016-08-17 10:40:55
【问题描述】:

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

或者只为每个请求生成一份报告,然后合并它们。

【问题讨论】:

    标签: php testing code-coverage


    【解决方案1】:

    如果您的测试代码是用 PHP 编写的,您可以将它们写为Unit Tests。单元测试将有助于更好地构建测试,但您也可以定义多个测试套件。因此,如果您有三个不同的测试或三个不同的测试套件,您可以让它们同时运行。此外,如果你让它们同时运行,你可以让它们运行and generate code coverage for all tests run

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

    但是,如果你不想使用 PHPUnit,而只想合并多个clover.xml 文件,这个问题has already been answered

    【讨论】:

    • 我的需求是获得手动测试的代码覆盖率,测试团队正在手机上工作。所以单元测试的方法好像不太满意。
    【解决方案2】:

    我们的PHP Test Coverage Tool 将收集测试覆盖率,无论它是如何被调用的。

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

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

    【讨论】:

      猜你喜欢
      • 2017-10-20
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多