javascript - 使用 Chai 检查数组中的所有元素

标签 javascript mocha.js chai

在使用 Mocha 和 Chai 进行测试时,我经常需要测试数组中的所有元素是否都满足条件。

目前我正在使用如下内容:

var predicate = function (el) {
  return el instanceof Number;
};

it('Should be an array of numbers', function () {
  var success, a = [1, 2, 3];
  success = a.every(predicate);
  expect(success).to.equal(true);
});

浏览 docs ,我无法立即看到任何提供这种行为的东西。我是否遗漏了什么,或者我必须编写一个插件来扩展 chai 吗?

最佳答案

与您当前的方法相比可能没有太大改进,但您可以执行以下操作:

expect(a).to.satisfy(function(nums) { 
    return nums.every(function(num) {
        return num instanceof Number;
    }); 
});

关于javascript - 使用 Chai 检查数组中的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31538635/

相关文章:

javascript - Protractor/cucumber 测试套件在 promise.then 期望失败时停止运行

javascript - Protractor :捕获 AssertionError

javascript - 如何更新位于asp.net iframe之外的ajax updatepanel

javascript - 在 AngularJS 中下载文件时显示下载进度文本

javascript - 在 href 单击时显示 div

javascript - 如何模拟依赖关系以返回特定数据?

javascript - 如何获取图像的实际宽度和高度

unit-testing - 测试使用全局事件总线的 Vue 单文件组件

node.js - 我应该为错误做些什么对于异步测试和 Hook ,确保调用 "done()";如果返回一个 Promise,确保它 resolve

javascript - Mocha 抛出错误和测试的最佳方式