`--coverage-html` 与 `--coverage-clover` 有何不同?

How is `--coverage-html` different from `--coverage-clover`?

--coverage-html--coverage-clover 有何不同?

以下是在我的项目上调用phpunit --coverage-clover ./clover.xml后的输出。

<metrics files="39" loc="3550" ncloc="2528" 
         classes="38" methods="138" coveredmethods="66" 
         conditionals="0" coveredconditionals="0" statements="1302"
         coveredstatements="549" elements="1440" coveredelements="615"/>

您可能会注意到 loc 与 ncloc。但是当我 运行 phpunit --coverage-html ./$path 时,我得到

| Lines                 | 42.17% covered (danger)   | 549 / 1302
| Functions and Methods | 47.83% covered (danger)   | 66 / 138
| Classes and Traits    | 44.74% covered (danger)   | 17 / 38

据此,HTML 的覆盖范围等同于 Clover 中的 语句 。与此同时,Clover 正在计算实际执行的代码行数。因此,虽然 HTML 会将 this file 标记为已覆盖,但由于 class 未执行(在这组测试中),因此 Clover 不会将其视为已覆盖。

XML 可以在 Jenkins 的 PHPClover 中使用来打印覆盖率报告,HTML 可以通过 ftp 连接从浏览器查看。

没看到其他区别