我使用ExpressJS并使用istanbul nyc创建了mocha和覆盖范围的单元测试。我已经实现了一个路由(参见下面的代码),并且正在验证我的测试的代码覆盖率。
以下注册为100%覆盖,
result = [{
label: "New Users",
data: 48.8
}, {
label: "Returning Users",
data: 51.2
}];
var labels = [],
data = [];
for (var i = 0; i < result.length; i++) {
labels.push(result[i].label);
data.push(result[i].data);
}
var ctx = document.getElementById("myPieChart").getContext("2d");
new Chart(ctx, {
type: 'pie',
data: {
labels: labels,
datasets: [{
label: 'New vs Returning Users',
fill: false,
backgroundColor: ["#9F86FF", "#1BC98E"],
lineTension: 0.1,
data: data
}]
},
options: {
responsive: true,
legend: {
display: true,
position: 'right',
labels: {
fontColor: '#fff'
}
},
elements: {
arc: {
borderWidth: 0
}
}
}
});
ctx.height = 100;
但是以下注册的覆盖率为0%:
import express from 'express';
import controller from './controller';
export default express
.Router()
.get('/', (req, res) => controller.all(req, res));
两者均可通过单元测试。第二,IMO,&#39;应该&#39;也注册100%。
任何想法如何使第二个版本注册?为什么它不能正常工作?
注意:我使用mocha进行测试。上面的逻辑不是测试逻辑,而是我的测试最终调用的逻辑