如何在全球范围内向茉莉花添加自定义匹配器?
How to add custom matchers to jasmine globally?
我需要一个替代版本 1.3 中消失的 jasmine.addMatchers
功能。当前的 API 允许将匹配器添加到 describe
块,但我更希望能够在任何地方使用我的匹配器,而无需一次又一次地添加它们。
是否有全局方法将自己的匹配器添加到 jasmine 3.1.0?
请注意,我没有在 jasmine 3.1 中尝试过此操作,但这是我在 jasmine 2.8 中执行相同操作的方式:
在测试之前将其放在任何获得 运行 的代码块中:
jasmine.getEnv().beforeEach(() => {
jasmine.addMatchers({
toBeAwesome(util, customEqualityTesters) { ... }
})
});
https://github.com/JamieMason/add-matchers 可用于编写适用于所有版本的 Jasmine 和 Jest 的匹配器。
var addMatchers = require('add-matchers');
addMatchers({
// matcher with 0 arguments
toBeEvenNumber: function(received) {
// received : 4
return received % 2 === 0;
},
// matcher with 1 argument
toBeOfType: function(type, received) {
// type : 'Object'
// received : {}
return Object.prototype.toString.call(received) === '[object ' + type + ']';
},
// matcher with many arguments
toContainItems: function(arg1, arg2, arg3, received) {
// arg1 : 2
// arg2 : 15
// arg3 : 100
// received : [100, 14, 15, 2]
return (
received.indexOf(arg1) !== -1 &&
received.indexOf(arg2) !== -1 &&
received.indexOf(arg3) !== -1
);
}
});
我需要一个替代版本 1.3 中消失的 jasmine.addMatchers
功能。当前的 API 允许将匹配器添加到 describe
块,但我更希望能够在任何地方使用我的匹配器,而无需一次又一次地添加它们。
是否有全局方法将自己的匹配器添加到 jasmine 3.1.0?
请注意,我没有在 jasmine 3.1 中尝试过此操作,但这是我在 jasmine 2.8 中执行相同操作的方式:
在测试之前将其放在任何获得 运行 的代码块中:
jasmine.getEnv().beforeEach(() => {
jasmine.addMatchers({
toBeAwesome(util, customEqualityTesters) { ... }
})
});
https://github.com/JamieMason/add-matchers 可用于编写适用于所有版本的 Jasmine 和 Jest 的匹配器。
var addMatchers = require('add-matchers');
addMatchers({
// matcher with 0 arguments
toBeEvenNumber: function(received) {
// received : 4
return received % 2 === 0;
},
// matcher with 1 argument
toBeOfType: function(type, received) {
// type : 'Object'
// received : {}
return Object.prototype.toString.call(received) === '[object ' + type + ']';
},
// matcher with many arguments
toContainItems: function(arg1, arg2, arg3, received) {
// arg1 : 2
// arg2 : 15
// arg3 : 100
// received : [100, 14, 15, 2]
return (
received.indexOf(arg1) !== -1 &&
received.indexOf(arg2) !== -1 &&
received.indexOf(arg3) !== -1
);
}
});