【问题标题】:CakePHP v1.3: Full Code Coverage ReportCakePHP v1.3:完整的代码覆盖率报告
【发布时间】:2014-02-03 06:08:37
【问题描述】:

在 CakePHP v2.x 中,您可以使用a test suite 生成单元测试代码覆盖率报告from the command line,它会触发您应用的所有测试和--coverage-html 选项。 (例如:cake test app All --coverage-html=tmp/coverage/

我一直在寻找 Cake v1.3 的等效版本,它使用 SimpleTest。当testing via the browser 时,可以查看每个单独测试用例的代码覆盖率,但不能查看整个App 类别。

同样,running tests from the command line 通过cake testsuite app all 似乎无法采用任何命令行选项来生成覆盖率输出。 v1.3 书没有深入探讨该主题的更多细节。

所以我的问题是:有没有办法从命令行为 Cake v1.3 应用程序生成“完整”代码覆盖率报告?


供未来搜索者使用的附加信息:

根据@mark-story 的建议,我尝试运行cake testsuite app all cov,但这会产生以下致命错误:

PHP 致命错误:在中找不到类“CodeCoverageManager” cake/tests/lib/reporter/cake_base_reporter.php 在第 131 行

这是 SimpleTest v1.0.1 in my app/vendors/simpletest/ folder。我尝试升级到 SimpleTest v1.1.0,但这导致了另一个致命错误:

PHP 致命错误:调用未定义的方法 CakeCliReporter::SimpleReporter() 第 85 行的 cake/tests/lib/reporter/cake_base_reporter.php

【问题讨论】:

  • 我可能是这个星球上唯一关心对旧的 1.3 Cake 应用程序进行单元测试的人...

标签: php unit-testing cakephp cakephp-1.3 simpletest


【解决方案1】:

您可能想尝试将 'cov' 添加到 cli 运行程序参数的末尾。 help() 命令表明这将起作用。已经有一段时间了,但我认为这将输出覆盖的代码百分比。无法像使用 phpunit 那样生成详细的覆盖率报告。

【讨论】:

  • 谢谢马克,我认为你是对的,我无需花费数天时间尝试自己构建一些东西就可以做到这一点。 (我将暂时不接受你的回答,因为其他人发现了一种方法来实现这一点的[极端]外部机会。)
猜你喜欢
  • 2014-08-21
  • 1970-01-01
  • 2014-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-26
  • 2012-08-23
相关资源
最近更新 更多