angularjs - Jasmine - 任何 bool 值 (jasmine.any(Boolean))

标签 angularjs unit-testing karma-jasmine

我使用 karma、jasmine 编写 Angular 单元测试。尝试写:

expect(item).toEqual(jasmine.any(Boolean));

但得到:

Expected true to equal <jasmine.any(function Boolean() { [native code] })>.

嗯..也许我做错了什么)或者是在这种情况下编写值(value)测试的另一种方法:

如果(真或假)- 通过,如果有其他 - 失败

最佳答案

我认为你需要的是一个像这样的自定义匹配器:

toBeBoolean : function () {
  return {
    compare : function (actual, expected) {
      return {
        pass : (typeof actual === 'boolean'),
        message : 'Expected ' + actual + ' is not boolean'
      };
    }
  };
}

How to create a Custom Matcher

关于angularjs - Jasmine - 任何 bool 值 (jasmine.any(Boolean)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21236794/

相关文章:

windows - PHPUnit 的奇怪输出

javascript - Jasmine 模拟链式方法与 Karma 和 Angular

angularjs - Angular Schema Form 如何工作?

unit-testing - Haskell 中的内联测试用例

java - 枚举打开的 JDBC 连接?

javascript - 如何编写http请求的单元测试?

angular - 使用 Karma Angular 进行快照测试而不是开玩笑

angularjs - 如何使用 angular-translate 翻译日期对象?

javascript - 在 Angular js中获取index.php内容

javascript - 对象引用中的变量