2015-11-17 73 views
3

我有一个模块,我想代码覆盖使用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) 

在我的函数行中,我得到0/0,如果我更改我的compute.js使用函数调用。

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" 

可我知道为什么箭头功能无法正常工作,我该如何解决这些问题?

回答

相关问题