reactjs - Jest : TypeError: Cannot read property of undefined

标签 reactjs typescript unit-testing ecmascript-6 jestjs

我正在尝试测试我的 React 类,该类具有 import dotnetify from "dotnetify"; import。这很好用,但 Jest 说,dotnetify 是未定义的。如果我更改为 const dotnetify = require("dotnetify");,Jest 通过测试,但这是愚蠢的解决方法。如何解释 Jest,那个 dotnetify 不是 undefined?

比你提前。

最佳答案

这无法向 Jest ‘解释’,它确实是未定义的。

有几种方法可以在 TypeScript 中处理 CommonJS 模块。如 this answer 中所述, 仅当使用 esModuleInterop (allowSyntheticDefaultImports) 编译器选项启用合成导入时,才会在 CommonJS 包中进行默认导入。

否则应该这样做:

import * as dotnetify from "dotnetify";

或使用特定于 TypeScript 的语法:

import dotnetify = require("dotnetify")

关于reactjs - Jest : TypeError: Cannot read property of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50427196/

相关文章:

javascript - 加载资源失败 : the server responded with a status of 404 (Not Found) in React. js 项目已部署

typescript - Nativescript 中的 Base-64 插件

python - 如何为 GitPython 克隆/pull 函数编写单元测试?

java - 如何使用内存数据库编写测试用例?

node.js - 错误 : html-webpack-plugin could not minify the generated output

javascript - 通过 react 路由器进行路由不起作用

javascript - Rxjs v6.x 上的类型 'clientX' .ts(2339) 上不存在属性 'Event'

javascript - 找不到模块 : Error: Package path ./locales 在 Angular 更新到 13 后未从包中导出

c++ - 源更改后自动运行测试

javascript - 如何通过单个index.js文件正确渲染多个React组件?