0

我所有的代码库都在一个文件夹中,它是子目录,我所有的测试都在另一个文件夹中,它是子目录。当我运行 PHPUnit 时,我将它指向 test 文件夹,并且我的 test 文件夹中的所有文件及其以 Test.php 结尾的所有子目录都将被执行。这一切都很好。

我现在想为我的所有代码库启用 PHP_CodeCoverage,包括我还没有编写测试文件的文件。

通过执行 GitHub 文档的建议,我可以在每个测试文件中手动启用 PHP_CodeCoverage:

在我的测试文件中,我包含以下内容:

require 'PHP/CodeCoverage/Autoload.php';

$coverage = new PHP_CodeCoverage;
$coverage->start('<name of test>');

// ...

$coverage->stop();

$writer = new PHP_CodeCoverage_Report_Clover;
$writer->process($coverage, '/tmp/clover.xml');

$writer = new PHP_CodeCoverage_Report_HTML;
$writer->process($coverage, '/tmp/code-coverage-report');

如何为我的整个代码库启用它?我找不到该案例的任何文档。

4

1 回答 1

0

我自己想通了:

从命令行运行 phpUnit 时,在运行 phpUnit 的目录之前的任意位置添加以下开关: --coverage-html /your/coverage/directory/goes/here

以下是完整命令的示例:

$phpunit --colors --coverage-html /your/coverage/directory/goes/here /my/code/base/dir

于 2013-05-20T21:34:35.287 回答