PHP 非单元测试的代码覆盖率

PHP code coverage with non-unit tests

是否有工具可以让您检测 PHP 从集成测试中收集代码覆盖率数据或仅手动 testing/usage?

我知道 phpunit 的覆盖选项,但不确定如何继续。

This blog post 提出了一个问题,即当 运行 Behat 测试

时代码覆盖率可能是什么值

The nature of acceptance tests is not really to tests units of code, but to assure that the behavior of your application meets a certain set of criteria (Behat Scenarios).

就像这样blog post

There is generally no point in having code coverage for Behat test cases because of their nature: The purpose of an acceptance test is to assert a certain behavior of an application, not to technically test a piece of code. Therefore, there is no point in checking for uncovered code pieces in order to write a Behat test for it.

然而,Codeception does, and Behat can do so with the vipsoft extension

我们的 PHP Test Coverage tool 会这样做。

您使用该工具检测应用程序。然后你 运行 应用程序,任何你喜欢的方式:作为一个 manual/interactive 进程,从单元测试触发,运行 通过集成测试等。它收集测试覆盖率数据,因为它 运行s.

它转储每个执行页面之间的测试覆盖率数据,因此您可以在任意点停止并检查最近 activity 的代码覆盖率。您可以重置覆盖范围并继续执行,这样您就可以收集有关执行片段的覆盖数据。

查看器工具显示叠加在源代码上的覆盖率数据。