我将在Jasmine 2.0中创建一个自定义匹配器来验证间谍是否存在其他一些条件。在大大简化中,例如:
var customMatchers = {
toDoSomething: function(util, customEqualityTesters) {
return {
compare: function(spy) {
var comparison = {};
comparison.pass = testSomeCondition(spy);
if (!comparison.pass) {
comparison.message = "Expect " + /insert code here/ + " to do something";
}
return comparison;
}
}
}
};
beforeEach(function() {
jasmine.addMatchers(customMatchers);
});
我的问题是,如何恢复间谍名称,作为工厂方法的第一个参数传递:createSpy(name, originalFn)
?
我在Jasmine documentation v2.6中找不到任何在线教程中的内容。
console.log(spy)
返回function(...) {...}
答案 0 :(得分:0)
我不知道这样做是否正确,但在Jasmine源代码中找到toHaveBeenCalled
最初是如何实现并找到的:
spy.and.identity()
它也适用于自定义匹配器。