伊斯坦布尔/ nyc代码覆盖问题

时间:2017-07-21 21:38:03

标签: node.js express mocha istanbul nyc

我使用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进行测试。上面的逻辑不是测试逻辑,而是我的测试最终调用的逻辑

0 个答案:

没有答案