在我的组件中,我正在做:
this.thing = this._service.foo('a');
this.otherThing = this._service.foo('b');
在我的测试中,我使用了这样创建的service
模拟:
mockService = jasmine.createSpyObj('Service', ['foo']);
使用'a'
或'b'
调用模拟器时,如何控制模拟返回的值?
因为如果我做
mockService.foo.and.returnValue('value');
使用'a'
或'b'
答案 0 :(得分:2)
您可以使用and.callFake()
mockService.foo.and.callFake(function (arg) {
if (arg == "a") {
return "value1";
} else {
return "value2";
}
// or whatever
});