如何使用所有方法创建类的模拟?

问题描述 投票:0回答:1

在Sinon中,我们可以为类创建一个存根:

    const auditTrailClientStub = sinon.createStubInstance(AuditTrailClient);

auditTrailClientStub 将具有原始类 AuditTrailClient 具有的所有方法。 例如,如果AuditTrailClient有“method1”,“method2”和“method3”,那么我们可以在auditTrailClientStub中使用这些方法。

你知道如何在 Jest 中模仿这个功能吗?

我在 Jest 中唯一发现的是:

    jest.mock('<path-to-AuditTrailClient>', () => ({
      method1: jest.fn(),
      method2: jest.fn(),
      method3: jest.fn(),
    }));

这里的问题是我必须命名 AuditTrailClient 中需要模拟的所有方法。如果我想模拟 AuditTrailClient 中的 10 个方法怎么办?

在 Jest 中是否有等效的方法来创建存根?

javascript jestjs
1个回答
0
投票

您正在寻找自动模拟

调用

jest.mock('./sound-player')
返回一个有用的“自动模拟”,您可以使用它来监视对类构造函数及其所有方法的调用。它将 ES6 类替换为模拟构造函数,并将其所有方法替换为始终返回
undefined
的模拟函数。

© www.soinside.com 2019 - 2024. All rights reserved.