【问题标题】:PHPUnit: Code coverage for smarty templatesPHPUnit:smarty 模板的代码覆盖率
【发布时间】:2011-09-08 14:56:38
【问题描述】:

使用PHPUnit 运行测试,我希望有我的Smarty 模板的代码覆盖率指标。

不幸的是,这不是开箱即用的,因为 Smarty 将模板编译成.php 文件,因此模板本身没有覆盖信息。查看编译后的.php 文件覆盖率并不好,因为编译后的文件几乎无法读取。

如何获取带有覆盖信息注释的原始模板代码?

我想要一个与PHPUnit's PHP_CodeCoverage 集成的工具,因为那时我可以在其生成的 HTML 文件中看到覆盖范围。但是任何其他解决方案也足够了:)

【问题讨论】:

    标签: php phpunit smarty code-coverage


    【解决方案1】:

    本质上,您使用的是一种“新”编程语言(模板),而您没有覆盖工具。您已经观察到您需要模板上的覆盖率数据,是的,必须通过编译的 PHP 文件,以便您可以运行/测试并获取覆盖率数据。

    我不了解临时解决方案,但此处概述了适用于任何语言的通用解决方案:

    Branch Coverage for Arbitrary Languages Made Easy.

    我的公司基于这个想法构建了一个family of test coverage tools。这些工具可以互操作;如果您从带有(启用 JNI 的调用)C 代码的 Java 混合系统收集测试覆盖率数据,使用 Java 和 C 测试覆盖率工具,它们可以同时显示 Java 和 C 代码的覆盖率,以及作为提供覆盖数据统计。

    这个系列中已经有一个 PHP 测试覆盖工具。如果有一个 Smarty 覆盖工具,它的输出可以直接与 PHP 覆盖的输出相结合,从而同时覆盖 PHP 和 Smarty 模板。

    【讨论】:

    • 我接受这个答案,因为没有给出更好的答案(现有解决方案)。
    猜你喜欢
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    • 2012-06-30
    • 2018-09-30
    • 2012-10-13
    • 1970-01-01
    • 2018-01-11
    • 1970-01-01
    相关资源
    最近更新 更多