巴尔-普拉金-斯坦布尔
有问题吗? 想贡献吗? 加入我们的行列 社区松懈。 。 。 .
一个 Babel 插件,将您的代码与伊斯坦布尔覆盖. 它可以马上使用 因果补偿 (通过) 无) (中文(简体) ).
说明: 此插件不会生成任何报表或将任何数据保存到任何文件; 它只在您的 JavaScript 源代码中添加了仪器代码 . 要与测试工具结合,请参见 一体化 节.
使用量
安装它 :
npm install --save-dev babel-plugin-istanbul
添加到 .babelrc 在测试模式中 :
{
"env": {
"test": {
"plugins": [ "istanbul" ]
}
}
}
可选使用 横跨env 设置
NODE_ENV=test数字 :
{
"scripts": {
"test": "cross-env NODE_ENV=test nyc --reporter=lcov --reporter=text mocha test/*.js"
}
}
一体化
因果报应
这个 只是工作时 与卡玛。 首先,确保代码已经由 Babel 转录(要么使用 karma-babel-preprocessor, (中文(简体) ), karma-webpack,或 karma-browserify) (中文(简体) ). 然后,简单设置 因果补偿 根据文件,但 不要添加 coverage 预处理器. 此插件已经为您的代码设置了设备, Karma 应该自动拾取它 .
测试过了 音乐/音乐 工程,包含~2400个语句.
(通过nyc)
配置 Mocha 以使用 Babel 转换 JavaScript 代码,然后您可以用 nyc,它将收集所有报道报告.
巴尔-普拉金-斯坦布尔尊重 include编号 :exclude nyc 的配置选项,
但你也需要 配置 NYC 不为您的代码配乐 通过在您的 package.json数字 :
"nyc": {
"sourceMap": false,
"instrument": false
},
忽略文件
你不想覆盖你的测试文件 因为这会扭曲你的覆盖结果。 您可以通过提供匹配 nyc 的插件选项来配置此选项 exclude编号 :include 规则数字 :
{
"env": {
"test": {
"plugins": [
["istanbul", {
"exclude": [
"**/*.spec.js"
]
}]
]
}
}
}
如果您在 Babel 配置中不提供选项, 插件会寻找 exclude编号 :include 配置在一个 "nyc" 键入 package.json。 。 。 .
您还可以使用 istanbul 忽略提示 ,以指定代码的特定行来跳过仪器.
来源地图
默认情况下,这个插件会取出内置的源代码并附入被器码,这样代码覆盖可以被重新映射回原源,即使是多步骤的构建过程. 这可以是记忆密集型的。 设定 useInlineSourceMaps 为了防止这种行为.
{
"env": {
"test": {
"plugins": [
["istanbul", {
"useInlineSourceMaps": false
}]
]
}
}
}
如果你正在仪表代码编程中,你可以明确通过源地图.
import babelPluginIstanbul from 'babel-plugin-istanbul';
function instrument(sourceCode, sourceMap, filename) {
return babel.transform(sourceCode, {
filename,
plugins: [
[babelPluginIstanbul, {
inputSourceMap: sourceMap
}]
]
})
}
应付信贷的贷项
采用的方法 babel-plugin-istanbul 灵感来自 泰国Pangsakulyanant原始库 babel-plugin-__coverage__。 。 。 .
babel-plugin-istanbul 企业
作为Tidelift订阅的一部分提供.
维护者 babel-plugin-istanbul 和上千个其他的软件包 正在和Tidelift合作 提供商业支持和维护 你用来构建应用程序的开源依赖。 节省时间,降低风险,改善代码健康,同时向维护者支付使用的确切依赖性. 学多取.