有许多文档显示了如何将匹配器添加到Jasmine规范中(例如here)。

有没有人找到一种将匹配器添加到整个环境的方法?我想创建一组有用的匹配器,以供任何和所有测试调用,而在我的所有规格中都没有copypasta。

目前正在对源进行反向工程,但是如果存在的话,会更喜欢一种可靠的方法。

最佳答案

当然,您只需要调用beforeEach()而无需任何规格范围,然后在其中添加匹配器即可。

这将在全局添加一个toBeOfType匹配器。

beforeEach(function() {
  var matchers = {
    toBeOfType: function(typeString) {
      return typeof this.actual == typeString;
    }
  };

  this.addMatchers(matchers);
});

describe('Thing', function() {
  // matchers available here.
});

我已经创建了一个名为spec_helper.js的文件,里面充满了诸如自定义匹配器之类的东西,在运行其余的规范套件之前,我只需要将其加载到页面上即可。

关于jasmine - 有没有办法将 Jasmine 匹配器添加到整个环境,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11942085/

10-09 18:41