gpt4 book ai didi

node.js - 如何生成 vscode TypeScript 扩展覆盖率报告

转载 作者:太空宇宙 更新时间:2023-11-03 23:15:15 25 4
gpt4 key购买 nike

使用 TypeScript 构建的 VSCode 扩展似乎无法使用 coveralls 生成覆盖率报告。

目前,我正在向我们的项目添加测试用例 https://github.com/PicGo/vs-picgo/pull/42 ,我找到了几种报告报道的方法,但没有一个对我有用。

使用自定义测试运行程序

The official documentation很少提到自定义测试运行程序,但我找到了一篇文章 here 。当我使用 F5 启动 Extension Test 时它可以工作,但当我在控制台中运行 npm run test 时它不起作用(根本没有覆盖输出)。

我也试图理解博文中的自定义运行器(源代码),但我发现我无事可做,因为我不知道它为什么起作用。

使用纽约

nyc with mocha 非常强大,但我们无法利用它。当我运行 nyc ./node_modules/vscode/bin/test 时,我将获得 0% 的覆盖率:

20190525000930

我搜索了nyc的issue页面,存在很多关于TS项目的相同0%覆盖率问题,但没有一个与我们的环境相同。主要区别在于,他们使用 mocha 进行测试,而不是像 VSCode 的 ./node_modules/vscode/bin/test 脚本那样,它会创建一个新进程来运行测试 js 文件。我不知道如何处理这个问题。

我搜索了所有问题(mocha、tyc、istanbul、vscode 等),但很少有(我没有找到任何 😭 )vscode TypeScript 正在使用覆盖率报告供我复制。所以我的问题是:如何获取 VSCode TS 扩展的覆盖率报告?

最佳答案

我自己也为此苦苦挣扎了一段时间,直到我让它正常工作。使其发挥作用面临三个主要挑战:

  1. 正确设置 nyc 实例
  2. 防止启动时的竞争条件
  3. 捕获 nyc 输出并将其显示在调试控制台中

您可以找到我的工作测试运行器 here 。我还在我的 blog 上分享了更多见解.

关于node.js - 如何生成 vscode TypeScript 扩展覆盖率报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56301056/

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