【问题标题】:CoffeeScript code coverageCoffeeScript 代码覆盖率
【发布时间】:2025-12-04 18:20:07
【问题描述】:

是否可以在不使用 CoffeeScriptRedux 编译器的情况下对 CofeeScript 源代码执行代码覆盖(这个在 ibrik 中使用)。我了解这个新编译器的优点,但看起来它还没有完成并且不适用于我的项目。

【问题讨论】:

    标签: javascript node.js coffeescript code-coverage istanbul


    【解决方案1】:

    如果您能更多地了解您的应用程序,那就太好了,但在大多数情况下,答案是肯定的。

    对于 Node 应用程序并使用 Mocha 进行单元测试,我使用了这个项目:https://github.com/benbria/coffee-coverage,它将编译您的 Coffee 文件以添加覆盖说明。

    然后您可以使用诸如https://github.com/cainus/node-coveralls 之类的应用程序来消化以前的报告并使其易于阅读。

    但我知道主要的 Javascript Coverage 框架可以与 Coffeescript 兼容。

    例如,Blanket 似乎是:https://github.com/alex-seville/blanket/blob/master/docs/compatibility_and_features.md#coffeescript-in-the-browser

    Blanket 的优点是您可以将它用于 Node 应用程序以及浏览器(使用 Jasmine 或其他)。此外,与其他项目相比,Blanket 不会强迫您更改测试“要求”语句。

    【讨论】:

    • 只要你是唯一一个回复你的人,你就赢了:) 但是我仍然没有找到在我的项目上运行代码覆盖率的好方法 (github.com/volkhin/RoadTrafficSimulator)。无论如何,谢谢你的帮助。也许我只是将 CoffeeScript 编译成 JS 并在 JS 上运行代码覆盖。一开始应该够用了。
    • 你好。这对你很好,但我觉得那里有点像欺诈:) 我只能猜测你会更喜欢包含你真正的咖啡来源的报道报告?确实,Blanket 渲染了 Javascript 编译文件。 (有时百分比还不够^^)
    • 然而,Blanket 会自动处理所有这些废话。插入摩卡咖啡非常容易。把配置放到 Gulp 里完全没有问题。
    • 抱歉洪水泛滥,但我为您的项目提供了 PR:github.com/volkhin/RoadTrafficSimulator/pull/5 只是为了展示毯子的能力。我很好奇您的期望以及可以做得更好的地方:)(我不是毯子的维护者:p)
    • 真的很好用,非常感谢!我不记得过去毯子到底有什么问题,也许我曾尝试在不同的配置中使用它(几周前我使用 jasmine 进行测试),但由于问题我没有设法运行 ibrik使用 CoffeeScriptRedux 编译器,我认为这是一个常见问题。再次感谢,这正是我想要的!