A类具有只读属性b
,b
具有方法c
,在A#methodF
中,有一条语句:
const v = await this.b.c();
在A#methodF
的规范中,我想存根c
:
a.b.c = sinon.stub().resolves({myDesiredResult})
(其中a
是A
的实例)
但是flow check
给出:
无法将sinon.stub()。resolves(...)分配给 a.b.c因为属性c 是不可写的。
问题:如何让c
返回我想要的结果?
答案 0 :(得分:1)
您的问题是您没有正确使用sinon.stub。当您确实想将存根分配给新变量时,尝试将a.b.c设置为新值(存根)。 sinon.stub的语法是这样的(docs):
var stub = sinon.stub(object, "method");
所以在您的情况下:
var cStub = sinon.stub(a.b, "c").resolves({myDesiredResult})