如何测试一个函数是否在 React 中被调用?

项目工作模板:https ://codesandbox.io/s/blue-currying-3me1t

我设置的唯一测试是src/App.test.js检查是否呈现名称。我正在尝试设置另一个测试来检查是否在生成按钮之前调用了函数。

其中FontAwesome.js有一个registerIcons()功能可以注册网站所需的所有图标。我调用这个函数是Buttons.js因为它是我使用图标的地方。

我想在其中创建一个测试App.test.js,检查是否registerIcons()在创建按钮之前调用了Buttons.js.


慕森王
浏览 101回答 1
1回答

慕的地10843

你通常可以通过手动模拟你的FontAwesome依赖来做到这一点:import React from "react";import { render } from "@testing-library/react";import Button from "./Buttons.js";import registerIcons from './FontAwesome'jest.mock('./FontAwesome', () => ({&nbsp; __esModule: true&nbsp; default: jest.fn()}))test("registers icons", () => {&nbsp; render(<Button />);&nbsp; expect(registerIcons).toHaveBeenCalled();});但是,代码沙箱目前似乎不支持 mocking。不过,您可以在自己的 IDE 中尝试。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript