如何为 vscode 分机导出 Coverage

How to do Coverage exports for vscode extensions

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

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

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

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

我尝试进行试验但遇到困难,是否有任何提示或指示可以让我继续并让我的流程再次运行?

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

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

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

设置类似于列出的链接:

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

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