2017-06-01 44 views
0

我有一個單元測試來控制元素列表。摩卡 - 柴:如何列出測試過程中的所有錯誤

例如:

arr = [ 
{ element : "aaa", 
    validation : false 
}, 
{ element: "bbbb", 
    validation: true 
}, 
{ element: "ccc", 
    validation: false 
} 

在我的單元測試,我想列出所有無效的元素,但與摩卡和柴,他停止了第一個無效元素上。 如何強制摩卡進行錯誤測試?

我的代碼「它」:

it('Read element',() => { 
    let length = arr.length - 1; 
     for (let i =0; i<= length; i++) { 
    assert.equal(arr[i].validation, true, 'route ' + arr[i].element+ ' should be valid); 
     } 
}); 

回答

3

您可以創建每個數組項單獨的測試:

describe('Read element',() => { 
    arr.forEach(item => { 
    it('route ' + item.element + ' should be valid',() => { 
     assert.equal(item.validation, true); 
    }); 
    }); 
}); 
+0

謝謝,這個解決方案幫助我完成我的任務。 – Seb

2

你可以使用,而不是循環您的陣列deepEqual匹配,構建一個數組匹配。

let validationArray = arr = [ 
{ element : "aaa", 
    validation : true 
}, 
{ element: "bbbb", 
    validation: true 
}, 
{ element: "ccc", 
    validation: true 
}]; 

assert.deepEqual(arr, validationArray);