【发布时间】:2022-01-07 14:38:54
【问题描述】:
单击按钮时,我需要模拟一个函数。该函数位于不同的文件中。这个函数使用来自 node_modules 的方法
import { recordCounter } from '../instrumentation/instrumentation';
<Button
onClick={() => {
recordCounter(`createTicketClicked`);
}}
text="Create Ticket"
/>
在instrumentation.ts中
import { newFederatedInstrumentation } from 'metrics';
const instance = newFederatedInstrumentation('myMetrics');
export const recordCounter = instance.recordCounter;
在测试中,我需要模拟方法recordCounter,看看它是否被调用以及使用什么值?
【问题讨论】:
-
你可以使用
jest.fn()和toBeCalledWith。 -
类似的东西?
const recordCounter = jest.fn(); expect(recordCounter).toHaveBeenCalledWith("createTicketClicked");抛出错误。 -
是的,就像那样。你看到了什么错误?
-
我收到一个错误。
Expected: "createTicketClicked" Number of calls: 0 -
如何在测试中“点击”按钮?看看测试代码会很有帮助。