- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
nyc 中使用的仪器是什么?
nyc's instrument command can be used to instrument source files outside of the context of your unit-tests:
nyc instrument src coverage/instrument
npm start
nyc_output
中生成文件因此无法报告任何内容。
nyc instrument
命令?怎么办?
最佳答案
nyc instrument
用于检测您的代码。它产生的输出在运行时将收集覆盖数据。这是没用的,除非你真的用这些数据做一些事情……比如报告它或以某种方式使用它。当您运行已检测的文件时,它会将覆盖率数据存储在 global.__coverage__
中。我相信。然后,您可以使用该数据执行您想要的操作。因此,您可以创建一个将运行检测文件的报告器,然后查看 global.__coverage__
看看覆盖范围是什么样的。简单地运行一个检测过的文件不会产生任何输出
要查看已检测文件的覆盖范围,您可以创建自己的报告器 require
检测的文件,然后查看 global.__coverage__
或者你可以运行 nyc
命令以正常生成覆盖数据。
这里有一些例子:
假设您有一个文件 file.js
您要检查的覆盖范围并且您已经运行了以下命令:
nyc instrument file.js > file_instrumented.js
file_instrumented.js
的文件。它具有生成代码覆盖率所需的所有代码。
node file_instumented.js
运行该文件没有任何 react ...除了文件执行与
file.js
相同之外
coverage.js
的文件使用此代码:
require("./file_instrumented.js");
console.log(global.__coverage__)
node coverage.js
您将能够看到覆盖数据。然后你可以输出任何你想要的数据。这是对覆盖数据的较低级别访问
nyc_output
中生成报告您需要使用
nyc
针对检测文件的命令。例如,这样的事情:
nyc --reporter=text --report-dir=./nyc_output node file_instrumented.js
file_instrumented.js
,这样的命令也可以工作。文件可执行:
nyc --reporter=text --report-dir=./nyc_output file_instrumented.js
file.js
运行相同的命令像这样:
nyc --reporter=text --report-dir=./nyc_output node file.js
file.js
文件未检测,因此不会给出
nyc
报告任何要报告的数据
nyc instrument
将在单元测试框架之外进行覆盖,正如我上面演示的那样。这有点令人困惑,因为文档并不像应有的那样清晰。关于如何覆盖测试框架之外的文件,我找不到很好的例子,所以我通过查看
nyc
的源代码弄清楚了这一切。以及一些测试框架。
nyc --reporter=text mocha --ui bdd test.js
nyc
正在执行
mocha
...
mocha
正在幕后为您检测代码
mocha
正在运行该检测代码
nyc
global.__coverage__
它需要生成报告
nyc
使用该数据在您的
nyc_output
中输出报告文件夹
关于istanbul - 什么是纽约 Istanbul 尔的仪器仪表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58075076/
nyc 中使用的仪器是什么? nyc's instrument command can be used to instrument source files outside of the contex
我正在尝试将我的 istanbul 代码覆盖率命令转换为 nyc。 看起来nyc现在是 Istanbul 尔测试覆盖率库的命令行界面。 在 Istanbul 尔,我们会得到这样的报道: istanbu
请问有人知道我如何解决这个问题吗?我的 test:coverage 定义如下。 scripts{ "test:coverage": "babel-node ./node_modules/.bin/i
我正在使用 coverageIstanbulReporter 为我的 javascript 项目生成代码覆盖率报告。默认输出 xml 文件名为“cobertura-coverage.xml”。我想将此
我的代码有多个 if声明但没有相应的 else声明。我一直在加/* istanbul ignore else */单独用于所有这些 if语句以忽略相应的缺失 else块。有没有办法忽略所有丢失的 el
NYC/Istanbul 代码报告工具是否会忽略 VueJS 组件文件(扩展名为 .vue)中的模板和样式标签。 nyc 够聪明吗? 最佳答案 是的,这是可能的@light24bulbs!我已经让 n
在 istanbul JS 代码覆盖率工具生成的 HTML 报告中,带有黑色背景的“I”和“E”符号表示什么? 最佳答案 这些符号位于 if-else 语句的前面。 正如您在附加的图像中看到的那样,'
有人可以帮忙解决以下问题吗? 我的操作系统是最新的 windows 10,时区是 (UTC+0300) Istanbul(夏令时已被移除,时区设置为 +0300 在土耳其的最新规定之后 - 2016
想把漂亮的 Linux 桌面录制下来与他人分享?要给朋友演示 Linux 的使用技巧?遇到的 Linux 问题实在难以描述?Istanbul能满足你的要求。使用 Istanbul,你可以将 Linu
我有一个用 Mocha 编写的测试的 React 项目。 Istanbul 尔用于获取测试覆盖率。 我在名为 lib 的文件夹中有 4 个 react 组件并在 test文件夹,我只为 2 个组件编写
我目前正在用 mocha 和 nyc 测试我的覆盖范围,我注意到我的一些断言调用没有被调用。如何在 nyc 中包含我的测试文件以确保涵盖所有断言? 我尝试过: "nyc": { "include"
刚刚开始使用一般的代码覆盖工具,但我认为我已经正确设置了所有内容。但是, Istanbul 尔正在生成我的规范文件而不是源文件的覆盖率报告? 当我运行jasmine-node RepeatSpec.j
我正在测试一个简单的应用程序(来自此处的 Mocha 教程代码 https://marcofranssen.nl/using-mocha-chai-sinon-to-test-node-js/ )以尝
我正在使用 istanbul 和 nyc 命令运行 NodeJs 的代码覆盖率报告。 我正在使用 mocha 进行单元测试 正如预期的那样,我得到了每个文件的报告,但我希望看到的是具有单个目录摘要的报
我收到一份空报告,它列出了文件,但没有填写百分比...... 知道是什么原因造成的吗? 错误信息: Handlebars:访问已被拒绝解析属性“声明”,因为它不是其父级的“自己的属性(property
我目前正在最终覆盖范围内获取我的测试文件。那可能是因为它们与我的组件并排放置而不是拥有自己的 测试 文件夹。 如何将这些排除在保险范围之外? 我已安装 Istanbul 尔 和 纽约 我正在使用 Mo
我正在开发 lite javascript 框架,尽管我确定在制定规范时几乎所有函数都被调用,但我的覆盖率语句无法达到 10%。 如果有人知道我做错了什么,我会很高兴听到。 我的项目构建: https
在初始状态下,我有例如app.module.js 包含以下 Angular 应用程序代码: 'use strict'; var app = angular.module('bumblebee', []
我正在运行 Istanbul 尔并获得报告,我已经在循环中创建了一个后命令来运行它,并且没有收到任何错误,如何配置输出目录或后任务以将输出复制到其中的文件夹哪个Circle可以自动拾取? 谢谢!吉列尔
我有一种情况,我的所有测试都并行运行,并创建了覆盖率报告。 我能够使用命令行中的 --dir 选项为每个测试创建一个单独的覆盖文件夹,这很棒。 现在我有了所有这些包含覆盖详细信息的文件夹,是否可以将所
我是一名优秀的程序员,十分优秀!