在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 中是否有等效的方法来创建存根?
您正在寻找自动模拟
调用
返回一个有用的“自动模拟”,您可以使用它来监视对类构造函数及其所有方法的调用。它将 ES6 类替换为模拟构造函数,并将其所有方法替换为始终返回jest.mock('./sound-player')
的模拟函数。undefined