箭头函数的伊斯坦布尔函数覆盖率?
Istanbul function coverage for arrow function?
我有一个模块,我想使用 Istanbul
进行代码覆盖,但是当我使用箭头函数时我无法让它工作。
我的模块compute.js
'use strict';
exports.addition = (a, b) => {
return a + b;
}
exports.multiplication = (a, b) => {
return a * b;
}
和我的单元测试代码test.js
describe('Compute', function() {
describe('addition()', function() {
it('should add', function() {
assert.equal(5, compute.addition(2, 3))
assert.equal(15, compute.addition(2, 13))
})
})
describe('multiplication()', function() {
it('should multiply', function() {
assert.equal(6, compute.multiplication(2, 3))
assert.equal(26, compute.multiplication(2, 13))
})
})
})
当我运行这个命令
node_modules/.bin/istanbul cover node_modules/mocha/bin/_mocha test/test.js
我的报道摘要如下所示:
================== Coverage summary =======================
Statements : 100% (4/4)
Branches : 100% (0/0)
Functions : 100% (0/0)
Lines : 100% (4/4)
在我的函数行中,如果我将 compute.js
更改为使用函数调用,我将得到 0/0。
exports.addition = function(a, b) {
return a + b;
}
exports.multiplication = function(a, b) {
return a * b;
}
现在,我获得了正确的代码覆盖率
================== Coverage summary =======================
Statements : 100% (4/4)
Branches : 100% (0/0)
Functions : 100% (2/2)
Lines : 100% (4/4)
package.json
"istanbul": "^0.4.0",
"mocha": "^2.3.4"
我可以知道为什么箭头功能不起作用,我该如何解决?
这是当前伊斯坦布尔版本中的一个错误,我在他们的 Github 页面中创建了一个 issue
我有一个模块,我想使用 Istanbul
进行代码覆盖,但是当我使用箭头函数时我无法让它工作。
我的模块compute.js
'use strict';
exports.addition = (a, b) => {
return a + b;
}
exports.multiplication = (a, b) => {
return a * b;
}
和我的单元测试代码test.js
describe('Compute', function() {
describe('addition()', function() {
it('should add', function() {
assert.equal(5, compute.addition(2, 3))
assert.equal(15, compute.addition(2, 13))
})
})
describe('multiplication()', function() {
it('should multiply', function() {
assert.equal(6, compute.multiplication(2, 3))
assert.equal(26, compute.multiplication(2, 13))
})
})
})
当我运行这个命令
node_modules/.bin/istanbul cover node_modules/mocha/bin/_mocha test/test.js
我的报道摘要如下所示:
================== Coverage summary =======================
Statements : 100% (4/4)
Branches : 100% (0/0)
Functions : 100% (0/0)
Lines : 100% (4/4)
在我的函数行中,如果我将 compute.js
更改为使用函数调用,我将得到 0/0。
exports.addition = function(a, b) {
return a + b;
}
exports.multiplication = function(a, b) {
return a * b;
}
现在,我获得了正确的代码覆盖率
================== Coverage summary =======================
Statements : 100% (4/4)
Branches : 100% (0/0)
Functions : 100% (2/2)
Lines : 100% (4/4)
package.json
"istanbul": "^0.4.0",
"mocha": "^2.3.4"
我可以知道为什么箭头功能不起作用,我该如何解决?
这是当前伊斯坦布尔版本中的一个错误,我在他们的 Github 页面中创建了一个 issue