【发布时间】:2016-08-07 09:09:52
【问题描述】:
您好,我有一个角度服务。
...
return {
setMixpanel: function(searchObject){
searchObject["referrer"] ? mixpanel.register({"$referrer":searchObject["referrer"]}) : mixpanel.register({"$referrer":""});
}
}
在我的单元测试中,我可能必须spyOn mixpanel 和register。但我需要以某种方式模拟 mixpanel.register。
如何正确模拟mixpanel.register?代码去哪儿了。
我嘲讽如下:
var mixpanel={
register : function(object){
return object
}
};
但是我把这段代码放在哪里呢?对吗?
希望有人能帮帮我?!
编辑: 测试本身大概是这样的
it('should test', function(){
spyOn(mixpanel,'register');
redirectService.setMixpanel(search);
expect(mixpanel.register).toHaveBeenCalledWith('...');
})
但为了做到这一点,我需要模拟 mixpanel。如果我只是 spyOn mixpanel,我会得到一个错误。
【问题讨论】:
标签: angularjs unit-testing mocking jasmine