Dan*_*umb 35 jasmine jasmine-matchers
有很多文档显示如何将匹配器添加到Jasmine规范(例如,这里).
有没有人找到一种方法将匹配器添加到整个环境中; 我想创建一组有用的匹配器,可以被任何和所有测试调用,而不是我的规范中的copypasta.
目前正在努力对源进行反向工程,但如果存在,则更喜欢一种经过验证的方法.
Ale*_*yne 48
当然,你只是在beforeEach()没有任何规范范围的情况下打电话,并在那里添加匹配器.
这将全局添加toBeOfType匹配器.
beforeEach(function() {
var matchers = {
toBeOfType: function(typeString) {
return typeof this.actual == typeString;
}
};
this.addMatchers(matchers);
});
describe('Thing', function() {
// matchers available here.
});
Run Code Online (Sandbox Code Playgroud)
我创建了一个名为spec_helper.js自定义匹配器的文件,我只需要在运行其他规范套件之前加载到页面上.
mik*_*ker 13
这是茉莉花2.0+的一个:
beforeEach(function(){
jasmine.addMatchers({
toEqualData: function() {
return {
compare: function(actual, expected) {
return { pass: angular.equals(actual, expected) };
}
};
}
});
});
Run Code Online (Sandbox Code Playgroud)
请注意,这使用角度angular.equals.