在Jasmine中,如何创建一个纯存根,所有方法都是stubbed并返回undefined?
答案 0 :(得分:2)
我不认为开箱即用,但您可以创建自己的。
describe('Stub all', function(){
var stubAll = function(obj){
for(propt in obj){
if(typeof obj[propt] === 'function')
spyOn(obj, propt).and.returnValue(undefined)
}
}
var underTest = {
thing: {},
foo: function(){
return 'bar';
},
bar: function(){
return 'foo';
}
};
it('should return undefined for all functions.', function(){
stubAll(underTest);
expect(underTest.foo()).toEqual(undefined);
expect(underTest.bar()).toEqual(undefined);
});
});
stubAll函数会为传入的对象上的每个函数添加一个间谍,它将返回undefined。