gpt4 book ai didi

javascript - Jasmine:模拟单例的内部方法

转载 作者:行者123 更新时间:2023-12-03 06:33:52 25 4
gpt4 key购买 nike

我如何模拟对单例方法的调用,例如:

Foo.get().getBar();

使用

模拟 Foo.getBar(); 似乎很简单
jasmine.createSpyObj(Foo, ['get']);
Foo.get.and.returnValue();

但是我一直在研究依赖注入(inject),但无法让它正常工作。 FWIW: getBar 返回一个 promise ,所以我真的想模拟 Foo.get().getBar().then() 我想它一定是这样的

Foo.get.getBar.and.callFake(() => { return deferred.promise; });

最佳答案

你必须这样做:

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');
});
});

希望有帮助!!!

关于javascript - Jasmine:模拟单例的内部方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38321101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com