javascript - 笑话:TypeError:Cannod 读取未定义的属性“fn”
问题描述
我有一个必须使用 jest 测试的标头组件。header 组件接受三个 props setIsDark
(function), setMode
(function), isDark
(boolean)。我想写一个简单的测试,但它给了我这个错误:Cannot read property 'fn' of undefined
。
这是我的测试文件tests /header.js
import React from "react";
import { render } from "@testing-library/react";
import Header from "../header";
import jest from "jest-mock";
test("temp", () => {
expect(true).toBe(true);
});
test("header renders some text", () => {
const setIsDark = jest.fn();
const setMode = jest.fn();
const isDark = true;
const { debug } = render(
<Header setMode={setMode} isDark={isDark} setIsDark={setIsDark} />,
);
debug();
});
编辑:不使用玩笑我得到TypeError: instace.getTotalLength is not a function
有人可以指出我在这里做错了什么。提前致谢。
解决方案
好吧,您正在导入jest-mock
库而不是jest。
如果您在项目中正确安装了 jest,则不必在测试中导入它,因此如果删除
import jest from "jest-mock";
,您可以使用jest.fn()
而不会出现任何错误。
推荐阅读
- css - CSS:让 div 超出其部分的底部
- python - 使用turtle模块编写代码绘制矩形
- python - 使用 while 循环而不是 for 循环遍历两个列表
- android - 如何将从房间数据库中获取的对象绑定到我的视图
- python - PANDAS:如何在组内输出重复值?
- javascript - Iphone base64 到视频帮助或替代解决方案
- angular - 错误:找不到管道“异步”!AOT & IVY 更新后
- python - VS Code 中的 Jupyter Notebook Python 版本不一致
- node.js - npm 每次运行时都会给出一个 TypeError
- java - 如果我的角色在地面或平台上,如何让我的角色跳跃相同的高度?(JSFML)