Javascript 在flow中编写规范:如何在mocha中存根一个方法?

Javascript 在flow中编写规范:如何在mocha中存根一个方法?,javascript,unit-testing,mocha.js,flowtype,Javascript,Unit Testing,Mocha.js,Flowtype,类具有只读属性b,b具有方法c,在A#方法f中,有一条语句: const v=wait this.b.c() 在A#方法f的规范中,我想存根c: a.b.c=sinon.stub().resolves({myDesiredResult}) (其中a是a的一个实例) 但是流检查给出: 无法将sinon.stub()分配给。解析(…) a、 因为财产c 是不可写的 问题:如何使c返回我想要的结果?您的问题是您没有正确使用sinon.stub。当您确实要将存根分配给新变量时,您正在尝试将a.b.c设置

类具有只读属性
b
b
具有方法
c
,在A#
方法f
中,有一条语句:

const v=wait this.b.c()

在A#
方法f
的规范中,我想存根
c

a.b.c=sinon.stub().resolves({myDesiredResult})
(其中
a
a
的一个实例)

但是
流检查
给出:

无法将sinon.stub()分配给。解析(…) a、 因为财产c 是不可写的


问题:如何使
c
返回我想要的结果?

您的问题是您没有正确使用sinon.stub。当您确实要将存根分配给新变量时,您正在尝试将a.b.c设置为新值(存根)。sinon.stub的语法如下():

var stub=sinon.stub(对象,“方法”);

因此,在你的情况下:

var cStub=sinon.stub(a.b,“c”).resolves({myDesiredResult})