Codeception 是否具有与 PHPUnit 的 "strict coverage" 等效的功能?
Does Codeception have an equivalent to PHPUnit's "strict coverage"?
使用 PHPUnit 时,您可以 annotate a test case 和 @covers SomeClass::someMethod
确保只有该方法内部的代码在 运行 测试时被记录为已覆盖。我喜欢使用此功能,因为它可以帮助我将测试期间偶然执行的代码与实际测试的代码分开。
在使用 Codeception 为我的项目实施一些验收测试后,我决定宁愿使用它而不是 PHPUnit 来 运行 我的单元测试。如果可能的话,我想从项目中删除 PHPUnit。
我正在为我的单元测试使用 Codeception 的 Cest 格式,并且 @covers
和 @codeCoverageIgnore
注释不再有效。代码覆盖率报告显示在 @covers
指定的方法之外执行的代码。有什么方法可以使用 Codeception 来模仿 "strict coverage" 功能吗?
编辑: 我已经向 Codeception 项目的 Github.
提交了一个 enhancement request
事实证明,当我问这个问题时,使用 Cest 格式测试是不可能实现严格覆盖的。我已经实现了它并且拉取请求已经 merged。
对于从 PHPUnit 迁移测试并像我一样寻找此功能的任何人,这意味着 Codeception 的更高版本 应该 提供对 @covers
、@uses
, @codeCoverageIgnore
, 等相关的测试注解。
当前版本(2.2.4
在撰写本文时)不支持它,但 2.2.x-dev
应该支持。
使用 PHPUnit 时,您可以 annotate a test case 和 @covers SomeClass::someMethod
确保只有该方法内部的代码在 运行 测试时被记录为已覆盖。我喜欢使用此功能,因为它可以帮助我将测试期间偶然执行的代码与实际测试的代码分开。
在使用 Codeception 为我的项目实施一些验收测试后,我决定宁愿使用它而不是 PHPUnit 来 运行 我的单元测试。如果可能的话,我想从项目中删除 PHPUnit。
我正在为我的单元测试使用 Codeception 的 Cest 格式,并且 @covers
和 @codeCoverageIgnore
注释不再有效。代码覆盖率报告显示在 @covers
指定的方法之外执行的代码。有什么方法可以使用 Codeception 来模仿 "strict coverage" 功能吗?
编辑: 我已经向 Codeception 项目的 Github.
提交了一个 enhancement request事实证明,当我问这个问题时,使用 Cest 格式测试是不可能实现严格覆盖的。我已经实现了它并且拉取请求已经 merged。
对于从 PHPUnit 迁移测试并像我一样寻找此功能的任何人,这意味着 Codeception 的更高版本 应该 提供对 @covers
、@uses
, @codeCoverageIgnore
, 等相关的测试注解。
当前版本(2.2.4
在撰写本文时)不支持它,但 2.2.x-dev
应该支持。