我有相同的方法调用,并且正在尝试编写测试以模拟methodB()中的MyService.getSoemthing
。但是,它似乎不起作用。
methodA(): any {
methodB().then(() => {
do something...
})
}
methodB(): ng.IPromise<void> {
return MyService.getSomething(a,b,c,d,e).then((result) => {
...does something with result...
doesn't returning anything
});
}
// With MyServiceMock injected
spyOn(MyServiceMock, 'getSomething').and.callFake(() => {
return $q.resolve(result); // result is a variable that has already been init
});
or
spyOn(MyServiceMock, 'getSomething').and.callFake((a,b,c,d,e) => {
return $q.resolve(result); // result is a variable that has already been init
});
// then I call my methodA and ..
methodA();
它根本无法工作..我能够调试,直到模拟的解决,它可以解决诺言,但永远不会出现在我的**内……对结果有好处... ** < / p>
有什么想法吗?