在测试用例中无法覆盖或调整线路

时间:2016-08-10 10:09:43

标签: javascript angular jasmine testcase test-coverage

我是一个函数,我正在返回这样的值......

GetData(){
let parsedData= JSON.parse(data.data.json);
        return {
            x: parsedData.x|| [],
            y: parsedData.y|| []
        };
}

我写了4个测试用例来覆盖这个返回响应行。

1. x with 1 and y with 0 length 
 2. x with 1 and y with 1 length  
 3. x with 0  and y with 0 length
 4. x with 0 and y with 1 length

但是我仍然无法在测试用例中覆盖这两行

return {
            x: parsedData.x|| [],
            y: parsedData.y|| []
        };

对此有何建议?

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,那么您应该检查undefined

你可以做到

GetData(){
    let parsedData= JSON.parse(data.data.json);
    return {
        x: typeof parsedData.x !== 'undefined' ? parsedData.x : [],
        y: typeof parsedData.y !== 'undefined' ? parsedData.y : []
    };
}