问题标签 [ts-jest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jestjs - 为所有测试配置一次笑话超时
根据文档,可以使用 jest-object将默认异步超时从 5000ms 增加到
更具体地说,通过使用jestsettimeouttimeout
我面临的问题是我正在针对一个非常慢的 API 运行一系列测试,响应时间为 5-15 秒,在每个测试的顶部配置这个 jest 对象非常烦人。
是否可以在运行所有测试文件之前声明这些设置一次?
typescript - 升级玩笑后“[BABEL] .value 不是有效的插件属性”
我将应用程序与 webpacker (rails gem)、vue、typescript、jest 一起使用。我也使用 ts-jest。当我将 jest 从升级24.8.0
到24.9.0
时,如果我尝试运行任何测试,我会遇到此错误:
我不确定是什么导致了这个错误。你有什么建议吗?
jest.config.js
jest_setup.ts
包.json
babel.config.js
reactjs - React Jest 测试无法使用 ts-jest 运行 - 导入文件上出现意外令牌
我有一个测试,测试一个 TSX 文件,该文件写在一个 JSX 文件中,由于意外的令牌而无法运行:
我有另一个用 JSX 编写的测试,用于运行 JSX 文件。我正在使用 React 测试库,但我认为这不是问题,因为文件导入测试失败。
堆栈跟踪:
笑话配置:
TS 配置:
测试组件TSX.tsx
测试组件TSX.test.tsx
包.json
javascript - ts-jest 无法运行 tsx 测试文件,因为从模块的 js 文件“导入”
我正在尝试使用ts-jest
运行 tsx 测试文件form.spec.tsx
。
form.spec.tsx
导入编辑器React Quill
和一些插件。
如何绕过SyntaxError: Unexpected identifier
来自名为quill-mention that import的插件的错误Quill
?该模块涉及form.spec.tsx
.
我已经在 jest 配置中添加了 transformIgnorePatterns 字段,但是/node_modules/quill-mention/src/quill.mention.js["<rootDir>/node_modules/"]
仍然存在这个问题
form.spec.tsx:
包.json
tsconfig.jest.json:
有人说allowJs: true
可以修复它,但它不起作用。我所有的测试都失败了JavaScript heap out of memory
。
reactjs - 类型错误:document.createElement 不是函数
我正在尝试使用包含 Office Fabric React 组件的ts-jest测试一个简单的 React 组件:
规格:
但是在运行测试时出现以下错误:
类型错误:document.createElement 不是函数
在 Stylesheet.Object..Stylesheet._createStyleElement (/Users/joebloggs/Documents/Projects/Add-In/node_modules/@uifabric/merge-styles/lib-commonjs/Stylesheet.js:250:33) 在 Stylesheet.Object.. Stylesheet._getStyleElement (/Users/joebloggs/Documents/Projects/Add-In/node_modules/@uifabric/merge-styles/lib-commonjs/Stylesheet.js:235:33) 在 Stylesheet.Object..Stylesheet.insertRule (/Users /joebloggs/Documents/Projects/Add-In/node_modules/@uifabric/merge-styles/lib-commonjs/Stylesheet.js:167:71) 在 applyRegistration (/Users/joebloggs/Documents/Projects/Add-In/node_modules/ @uifabric/merge-styles/lib-commonjs/styleToClassName.js:269:20) 在 Object.styleToClassName (/Users/joebloggs/Documents/Projects/Add-In/node_modules/@uifabric/merge-styles/lib-commonjs/ styleToClassName.js:289:5) 在 Object.mergeStyles (/Users/joebloggs/Documents) 的 mergeCss (/Users/joebloggs/Documents/Projects/Add-In/node_modules/@uifabric/merge-styles/lib-commonjs/mergeStyles.js:45:37) /Projects/Add-In/node_modules/@uifabric/merge-styles/src/mergeStyles.ts:26:9) 在 _constructFinalProps (/Users/joebloggs/Documents/Projects/Add-In/node_modules/@uifabric/foundation/lib -commonjs/slots.js:218:36) 在结果 (/Users/joebloggs/Documents/Projects/Add-In/node_modules/@uifabric/foundation/lib-commonjs/slots.js:99:22) 在 _renderSlot (/用户/joebloggs/Documents/Projects/Add-In/node_modules/@uifabric/foundation/lib-commonjs/slots.js:235:41)_constructFinalProps (/Users/joebloggs/Documents/Projects/Add-In/) 处的合并样式 (/Users/joebloggs/Documents/Projects/Add-In/node_modules/@uifabric/merge-styles/src/mergeStyles.ts:26:9) node_modules/@uifabric/foundation/lib-commonjs/slots.js:218:36)在结果(/Users/joebloggs/Documents/Projects/Add-In/node_modules/@uifabric/foundation/lib-commonjs/slots.js: 99:22)在_renderSlot(/Users/joebloggs/Documents/Projects/Add-In/node_modules/@uifabric/foundation/lib-commonjs/slots.js:235:41)_constructFinalProps (/Users/joebloggs/Documents/Projects/Add-In/) 处的合并样式 (/Users/joebloggs/Documents/Projects/Add-In/node_modules/@uifabric/merge-styles/src/mergeStyles.ts:26:9) node_modules/@uifabric/foundation/lib-commonjs/slots.js:218:36)在结果(/Users/joebloggs/Documents/Projects/Add-In/node_modules/@uifabric/foundation/lib-commonjs/slots.js: 99:22)在_renderSlot(/Users/joebloggs/Documents/Projects/Add-In/node_modules/@uifabric/foundation/lib-commonjs/slots.js:235:41)22) 在_renderSlot (/Users/joebloggs/Documents/Projects/Add-In/node_modules/@uifabric/foundation/lib-commonjs/slots.js:235:41)22) 在_renderSlot (/Users/joebloggs/Documents/Projects/Add-In/node_modules/@uifabric/foundation/lib-commonjs/slots.js:235:41)
typescript - 使用 jest-typescript 为构造函数创建 Mock
我想使用 jest for typescript 为构造函数创建一个模拟。我有一门课,比如说,车辆:
让类Engine是:
我想为 Engine.constructor 创建模拟。我试过使用
engine.constructor = jest.fn().mockReturnValue('mock-engine')
,但没有被调用。我不应该嘲笑班级或 getEngine()。请帮我解决一下这个。
javascript - 浅模拟扩展了 React.Component显示错误
模拟组件时出现以下错误。
'{ props: { index: number; 类型的转换 作业标题:字符串;分配描述:字符串;分配使用时间:字符串;AssignmentScheduledHours:字符串;分配开始日期:字符串;AssingmentEndDate:字符串;}; }' 键入 'InsightsComponent' 可能是一个错误,因为这两种类型都没有与另一种充分重叠。如果这是故意的,请先将表达式转换为“未知”。输入'{道具:{索引:数字;作业标题:字符串;赋值描述:字符串;分配使用时间:字符串;AssignmentScheduledHours:字符串;分配开始日期:字符串;AssingmentEndDate:字符串;}; }' 缺少 'InsightsComponent' 类型的以下属性:百分比、切换、trimZeroDecimal、render 和 5 more.ts(2352) 算术运算的左侧必须是 ' 类型
下面是我的组件类的样子
下面是我的测试课
typescript - ts-jest 单元测试的麻烦
尝试使用 对 Firebase 云功能进行单元测试ts-jest
,但在进行简单测试时遇到问题。
我已经为 typescript、typings 和 ts-jest 配置安装了 jest,但我收到了一个错误,提示@types/jest
未安装。
main.test.ts
错误消息:找不到名称“测试”。您是否需要为测试运行器安装类型定义?尝试npm i @types/jest
或npm i @types/mocha
.ts(2582)
版本: @types/jest@24.0.19
javascript - 在 Electron 中运行 Jest 并使用 --inspect-brk
我试图让 Jest 在 Electron 运行时(而不是 Node)中运行,当我启动 Electron 时它按预期工作,如下所示:
但是,当我尝试在启用调试的情况下运行 Electron 时,Jest 无法检测到任何单元测试:
此时我使用chrome://inspect
附加节点调试器会话,会话在调试器中暂停,一旦我点击恢复脚本执行按钮,就会出现以下输出:
- 这次 Jest 找不到任何单元测试。
- 为什么添加
--inspect-brk
会改变 Jest 的行为?
如果我改为使用节点在启用调试的情况下运行,那也可以正常工作:
如果我使用--inspect
而不是以--inspect-brk
同样的方式失败:
因此,似乎是 Electron 运行时、Jest 和启用调试的特定交集导致了这个问题。
这里的参考是我的示例的源代码,它是从TypeScript-Babel-Starter派生的。我正在使用 Typescript 编写代码和测试,并ts-jest
用作 Jest 预设。
包.json
jest.config.js
索引.spec.ts
索引.ts
reactjs - 如何解决“无法在模块外使用导入语句”的问题
我有一个使用 TypeScript、Jest、Webpack 和 Babel 构建的 React 应用程序(不使用 Create React App)。尝试运行时yarn jest
,出现以下错误:
我已尝试删除所有软件包并重新添加它们。它不能解决这个问题。我看过类似的问题和文档,但我仍然误解了一些东西。我什至遵循另一个指南从头开始设置此环境,但我的代码仍然收到此问题。
依赖包括...
组件的导入行...
测试文件....
我希望能够在我的组件中使用命名导入,而不会导致测试失败。如果我只通过我的解决方案使用默认导入,它似乎可以解决这个问题,但我宁愿不走那条路。