【问题标题】:How to do Coverage exports for vscode extensions如何为 vscode 扩展做覆盖导出
【发布时间】:2017-07-04 16:17:23
【问题描述】:

我看过很多如何制作 vscode 扩展的教程。喜欢:

https://code.visualstudio.com/docs/extensions/testing-extensions

并且有很多教程如何进行覆盖导出,有很多方法可以做到这一点,但我没有看到好的示例可以遵循他们文档中的示例并使用 vscode 扩展(他们需要 extensionHost 而不是节点)。

我将所有测试都写在 mocha 中,并按照他们的文档建议捆绑在 vscode 中。

我尝试进行实验,但我被卡住了,是否有任何提示或指示可以让我继续并让我的流程再次运行?

【问题讨论】:

标签: unit-testing typescript visual-studio-code code-coverage vscode-extensions


【解决方案1】:

有效的答案在我原来的问题的 cmets 中。但是为了简化和总结必须做的事情,以及我个人做了哪些步骤。并非所有步骤都是真正必要和必需的,但这些步骤使其非常方便:

  • 在我的包中安装了 istanbul、istanbul-coveralls、gulp、gulp-json-editor、coveralls 作为 DEV 依赖项
  • 在我的测试中包含了 MS 提供的 istanbul 测试运行器,用于 vscode 扩展测试
  • 修改了测试以直接运行 istanbul runner 而不是 mocha runner(测试本身可以保持原样)。
  • 附加对伊斯坦布尔跑步者的参考现在我必须阅读coverconfig.json才能知道如何进行覆盖本身(忽略哪些部分,源在哪里,输出结果的位置,结果应该是什么格式等。 .).
  • 增加了 gitignore 和 vscode 项目的覆盖范围,这样它们就不会在 UI 中惹恼我,也不会污染 repo。
  • 添加了一些 Visual Studio 启动器/任务,以便我更轻松地从 UI 触发它们
  • 安装了 vscode 插件以显示排水沟中的覆盖率:https://marketplace.visualstudio.com/items?itemName=ryanluker.vscode-coverage-gutters 然后将“lcov.path”添加到我的项目设置中:[“coverage/lcov.info”](或您将拥有线路覆盖率的任何位置),因此插件可以直接在 UI 中读取和显示覆盖范围。
  • 设置 gulp 以删除旧的覆盖结果并在每次运行时启动新的结果
  • 为常规测试和覆盖变体添加了 npm 脚本
  • 更改了 travis 步骤,因此现在正在运行覆盖变体,而不是通用的非覆盖变体。添加了脚本步骤,以便运行工作服模块并将来自coverage/lcov.info 的结果广播到https://coveralls.io/ 网站。 (我认为需要登录并进行首次设置才能使其在他们的网站上运行)

现在,在每次提交时,travis 都会自己完成工作,我可以在自述文件中使用工作服横幅来快速了解我的覆盖范围。您可以使用 gulp 来观察它的变化并在本地构建/测试,并在 UI 中快速反馈您的测试涵盖了哪些行。

设置类似于列出的链接:

https://github.com/Microsoft/vscode-mssql

https://github.com/kenhowardpdx/vscode-gist/pull/10

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-11
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 2017-09-30
    • 1970-01-01
    相关资源
    最近更新 更多