在构造函数中分配的 Sinon 存根类实例

时间:2021-07-30 15:43:08

标签: javascript typescript sinon

我有一个类,它有一个调用导入模块的构造函数的构造函数

...

constructor(ctx: Context) {
  this.service = new Service(ctx)
}

我想测试这个类,但想存根服务,因为我只想测试这个类的给定方法。所以,在我的测试中,我创建了一个像这样的存根实例

...

const serviceStub = sinon.createStubInstance(Service)
const controller = new Controller(ctx)
serviceStub.create.resolves(null)

但是,当我运行测试时,出现以下错误

<块引用>

希望在对象上存根方法,但没有找到

这来自我创建存根实例的行

const serviceStub = sinon.createStubInstance(Service)

为什么当我有多个方法时,它会抱怨对象 (Service) 上没有方法?测试运行在那条线上崩溃,没有进入任何测试代码,所以我省略了。

Sinon 版本:11.1.2

1 个答案:

答案 0 :(得分:0)

在 sinon 包中执行一些 console.log 之后,我看到这些方法没有被公开。答案是改变使用箭头函数的类方法。

相关问题