Mám modul, ktorý by som chcel mať pokrytie pomocou kódu Istanbul
, ale pri použití funkcie šípky to nedokážem uviesť do prevádzky.
môj modul compute.js
"use strict";
exports.addition = (a, b) => {
return a + b;
}
exports.multiplication = (a, b) => {
return a * b;
}
a môj testovací kód jednotky 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))
})
})
})
Keď spustím tento príkaz
node_modules/.bin/istanbul cover node_modules/mocha/bin/_mocha test/test.js
Súhrn pokrytia je uvedený nižšie:
================== Coverage summary =======================
Statements : 100% (4/4)
Branches : 100% (0/0)
Functions : 100% (0/0)
Lines : 100% (4/4)
V riadku Funkcie dostávam 0/0, ak zmením môj compute.js
na použitie funkcie volania.
exports.addition = function(a, b) {
return a + b;
}
exports.multiplication = function(a, b) {
return a * b;
}
teraz dostávam správne pokrytie kódu
================== 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"
Môžem vedieť, prečo nefunguje funkcia šípky a ako ich môžem opraviť?
odpovede:
1 pre odpoveď č. 1Toto je chyba v súčasnej verzii Istanbulu, ktorú som vytvoril issue
na ich stránke Github
https://github.com/gotwarlost/istanbul/issues/486