为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕森王 2022-12-02 15:43:08
项目工作模板:https ://codesandbox.io/s/blue-currying-3me1t我设置的唯一测试是src/App.test.js检查是否呈现名称。我正在尝试设置另一个测试来检查是否在生成按钮之前调用了函数。其中FontAwesome.js有一个registerIcons()功能可以注册网站所需的所有图标。我调用这个函数是Buttons.js因为它是我使用图标的地方。我想在其中创建一个测试App.test.js,检查是否registerIcons()在创建按钮之前调用了Buttons.js.
查看完整描述

1 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

你通常可以通过手动模拟你的FontAwesome依赖来做到这一点:

import React from "react";

import { render } from "@testing-library/react";

import Button from "./Buttons.js";

import registerIcons from './FontAwesome'


jest.mock('./FontAwesome', () => ({

  __esModule: true

  default: jest.fn()

}))



test("registers icons", () => {

  render(<Button />);


  expect(registerIcons).toHaveBeenCalled();

});

但是,代码沙箱目前似乎不支持 mocking。不过,您可以在自己的 IDE 中尝试。



查看完整回答
反对 回复 2022-12-02
  • 1 回答
  • 0 关注
  • 71 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信