gpt4 book ai didi

code-coverage - 黑客语言的代码覆盖工具

转载 作者:行者123 更新时间:2023-12-04 06:22:25 25 4
gpt4 key购买 nike

是否有针对 Hack 语言的代码覆盖工具(在 hhvm 上)?

这个问题不是关于在 hhvm 上运行的 PHP 源代码的代码覆盖率(例如使用 PHPUnit 是可能的),而是生成用 hack 语言编写的源代码的代码覆盖率。

最佳答案

当前版本的 PHPUnit(4.4,4.5,4.6) 不生成覆盖率并且失败并出现此错误。

$php phpunit-alpha.phar -coverage-html=cover t/
PHPUnit alpha-2015-01-09 by Sebastian Bergmann and contributors.

PHPUnit alpha-2015-01-09 by Sebastian Bergmann and contributors.
Fatal error: Class undefined: PHP_Token_TYPELIST_LT in phar://phpunit-alpha-2015-01-09.phar/php-token-stream/Token/Stream.php on line 185

我同意 Ira 的观点,即代码覆盖使用 XDEBUG。但是出于某种原因,PHPUnit 尚未决定覆盖 HackLang 代码。

第一次更新:

这是因为 Hacklang 有更多的注册命令(如形状,类型)和更多的结构(lambda),php-token-stream 无法识别它们。

尽管修复非常简单,您可以创建未定义的类并从 PHP_Token 扩展它。例如,对于我的项目,我必须创建这些类:

class PHP_Token_TYPELIST_LT extends PHP_Token {}
class PHP_Token_TYPELIST_GT extends PHP_Token {}
class PHP_Token_TYPE extends PHP_Token {}
class PHP_Token_SHAPE extends PHP_Token {}
class PHP_Token_LAMBDA_OP extends PHP_Token {}
class PHP_Token_LAMBDA_CP extends PHP_Token {}
class PHP_Token_LAMBDA_ARROW extends PHP_Token {}

第二次更新:

PHPUnit 正在使用 CodeCoverage检测执行的行,在该项目中,在 HHVM 上它使用 fb_get_code_coverage

关于code-coverage - 黑客语言的代码覆盖工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27856697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com