问题标签 [nyc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - node - 如何在 nyc 和 mocha 中使用 source-map
所以 nyc 正在修改我的文件,如下所示:
我不确定如何使用源地图来解决这个问题。文档状态:
使用源映射的准确堆栈跟踪。
当 producer-source-map 设置为 true 时,检测的源文件将包含用于检测器转换的内联源映射。当与 source-map-support 结合使用时,检测代码的堆栈跟踪将反映其原始行。
所以我尝试了以下 npm run 命令:
结合 nyc 设置:
但这条线仍然被破坏了。
vuejs2 - Vue cli 3 - 纽约伊斯坦布尔代码报告不包括 vue 文件
我已经尝试了几个小时来为我的新 vue(基于 typescript)项目启动并运行伊斯坦布尔代码覆盖率报告,该项目是使用 vue-cli v3 生成的。
每当我运行我的测试时:(nodemon --exec nyc vue-cli-service test:unit
)只包含 .ts 文件,即使我已经明确设置 nyc 应该包含这些文件:
包.json
我也尝试过设置nyc.instrument
和设置nyc.sourceMap
为 false,以便在 webpack 配置中允许自定义加载器,如下所示:
Vue.config.js
我也尝试过使用vue.config.js > chainWebpack
钩子来执行此操作,当使用 vue 配置而不是 package.json 时,它会导致根本不包含任何文件:
Vue.config.js 使用 chainWebpack 而不是 configureWebpack
这可能是由于__dirname + [filename]
我在这个配置中使用的,虽然我不知道它应该是什么。我是基于此链接执行此操作的:https ://github.com/vuejs/vue-cli/issues/1363 ,我应该在其中添加'src'
,尽管它导致错误指出包含的路径不是绝对的。
vue.js - 如何使用 jest 使测试覆盖率显示 Vue-cli 3 中的所有 vue 文件
我在尝试使用 Jest 设置 Vue CLI 3 以显示测试覆盖率时遇到了困难。我已尽一切可能使其工作,但它仍然没有显示:
以下是我的配置的摘录:
jest.config.js:
包.json:
如何正确配置 Vue CLI 3 和 Jest 以显示测试覆盖率?
node.js - 如何使用 Jest 收集生成的子进程的代码覆盖率?
我正在为 CLI 编写集成测试。所有单元测试都是使用开箱即用的 Jest 编写的,它无需任何配置即可生成代码覆盖率,但不幸的是,它不检测子流程,例如通过 Node 的 spawn 和 fork 命令执行。
我已尝试按照关于 GitHub 问题的评论中的建议将 nyc 引入组合中,但它对我不起作用。
我玩过各种配置(基于上述最初的建议以及来自这些问题的想法:1、2),但是我根本没有得到覆盖率统计数据,或者只有单元测试的覆盖率,而不是产生子测试的集成测试过程。
package.json
配置 nyc 和 Jest的 my 的相关部分:
我正在使用execa
运行子流程并执行以下操作:
javascript - 为包目录之外的文件启用 nyc / istanbul 代码覆盖
我有一个节点应用程序,其中包含单独的姐妹文件夹和随附的 package.json 文件,用于应用程序代码和测试。
nyc 作为依赖项(与 mocha 一起)包含在测试文件夹中。它无法显示应用程序文件夹中文件的覆盖范围。我试图通过在 nyc 配置中包含“../Application/**/*.js”来明确包含应用程序文件,但这似乎并没有奏效。
有任何想法吗?
node.js - TypeScript:仅在单元测试中找不到模块的声明文件
我在 Windows 10 上使用 TypeScript 和 Visual Studio Code 来开发 NPM 模块。我使用 mocha/chai 结合 nyc (istanbul) 进行单元测试和代码覆盖。
对于我的一些测试,我想使用 chai-bytes 更轻松地比较缓冲区。不幸的是,chai-bytes 模块中没有类型定义文件,@types/chai-bytes 中也没有可用的定义。
因此,我为 chai-bytes 插件编写了自己的类型定义文件(非常简单),但在执行过程中npm test
出现以下错误:
VS Code 为我提供了完整的 Intellisense,所以我认为我的类型定义文件有效并且至少可以被 VS Code 找到。
这是我的目录结构:
我试图将类型定义文件移动到源树(几个地方),但没有任何效果,此外,有时它变得更糟,以至于甚至 VS Code 都找不到它了。
这些是我的配置文件:
包.json:
tsconfig.json:
mocha.opts:
类型\柴字节\index.d.ts:
BitArray-test.ts(仅相关测试):
npm --version
:
3.10.10
node --version
:
v6.11.1
我可以改用Buffer.compare
作为解决方法,但是我不会在错误消息中看到缓冲区的内容,而只能看到-1
,0
或1
. (而且它不会解决问题。)
目前,我被困在这一点上,非常感谢任何帮助。
typescript - 使用 @vue/cli-plugin-unit-mocha、TypeScript 和 SFC 为 VueJS 项目生成纽约市覆盖率报告
我目前正在为使用 @vue/cli-plugin-unit-mocha 运行单元测试的 Vue 项目设置测试环境。该项目使用 TypeScript 和 .vue 单文件组件。我已成功设置我的项目以运行单元测试并为 TypeScript 文件生成代码覆盖率报告,但是当我尝试为 SFC 添加测试时出现错误。
要生成覆盖率报告,我使用 nyc + istanbul-instruenter-loader。我认为我的配置对于常规 Typescript 文件是正确的,但是当它必须处理 .vue 文件时,istanbul-instrumenter-loader 会引发错误:
在我看来,.vue 文件似乎没有被正确转换/转译。
这是我的 package.json:
和我的 vue.config.js:
测试覆盖率失败的文件如下所示:
报告网格容器.spec.ts
由于 .vue 文件,Istanbul 抛出错误
任何帮助或指示将不胜感激!
node.js - 伊斯坦布尔测试覆盖率信息
我正在使用这个工具(https://github.com/istanbuljs/nyc)来检查我的代码的测试覆盖率,我得到这样的输出:
那么,问题是如何在不解析此表的情况下仅获取数字信息?也许纽约市有用于检索此类信息的 api?
node.js - 如何使用 NYC 获得单元测试和集成测试的综合覆盖率
我想获得单元测试和集成测试的综合覆盖。
我有用于单元测试和集成测试的单独文件夹。在我的管道 ci 中,我有一个单独的阶段用于单元测试和集成测试,因为集成测试需要依赖项。
包.json
现在我分别获得了他们两个的报道,但我可以看到它并不是所有报道的真实反映。
有什么办法可以结合覆盖范围摘要。这可能意味着我需要将管道中的两个阶段结合起来?