我将如何模拟对单例方法的调用,例如:
Foo.get().getBar();用它来模拟Foo.getBar();似乎很简单
jasmine.createSpyObj(Foo, ['get']);
Foo.get.and.returnValue();但是我一直在用依赖注入的方法,但我不能很好地让它发挥作用。FWIW:getBar回报了一个承诺,所以我真的在试图模仿Foo.get().getBar().then(),我想这肯定是类似于
Foo.get.getBar.and.callFake(() => { return deferred.promise; });发布于 2016-07-12 06:27:25
你必须这样做:
describe('Foo.get().getBar()',function(){
it('is happy',function(){
var Foo = jasmine.createSpyObj('Foo', ['get']);
console.log(Foo);
Foo.get.andReturn({
getBar: function() {
return 'happy';
}
});
expect(Foo.get().getBar()).toBe('happy');
});
});希望能帮上忙!
https://stackoverflow.com/questions/38321101
复制相似问题