mocha - chai:如何在测试期间列出所有错误

时间:2017-06-01 09:57:38

标签: javascript unit-testing mocha chai

我有一个单元测试来控制元素列表。

前:

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

在我的单元测试期间,我想列出所有无效元素但是使用mocha和chai,他会停在第一个无效元素上。 如何强制mocha进行错误测试?

我的代码"它" :

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);
      }
});

2 个答案:

答案 0 :(得分:3)

您可以为每个数组项创建一个单独的测试:

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

答案 1 :(得分:2)

您可以使用deepEqual匹配器而不是循环遍历数组并构造一个匹配的数组。

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

assert.deepEqual(arr, validationArray);