如何在Mocha测试的for循环中使用“ it”

时间:2019-10-14 19:49:52

标签: javascript unit-testing mocha

 describe('some test', function() {
  for(i = 0; i < someData.length; i++) {
   it("test scenario "+i, function() {
   assert.deepEqual(someValue, someData[i]);
   });
  }
 });

具有上面的代码不会打印多次通过结果。它正在控制台中打印以下(绿色)。

0 passing (42ms)

1 个答案:

答案 0 :(得分:1)

所有详细信息都在这里:https://github.com/mochajs/mocha/issues/3074

Mocha不支持这种行为。两种最著名的解决方法是:

  • IIFE
  • forEach

我希望forEach稍微优雅一点,这是斯科特·桑图奇(Scott Santucci)(github)可能的解决方案,我针对您的情况进行了修改:

someData.forEach(function(value, i) {
  it(`test scenario ${i}`, function() {
    assert.deepEqual(testValue, value);
  })
})