问题标签 [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.
typescript - 如何在使用 jest 运行测试时修复警告:无法安装组件:未定义模板或渲染函数
我已经看到很多关于相同错误的帖子,但我只是在使用 Jest 运行测试时才得到它:
导航栏.vue
导航栏.ts
Navbar.spec.ts 示例测试
测试本身通过。我假设我缺少/设置了错误的一些配置,但不确定到底是什么。我也在使用打字稿。
笑话配置:
我希望测试仍然可以通过而不会出现控制台错误。
jquery - 使用 ES 导入时如何在 ts-jest 中使用 jQuery 编写测试?
我正在尝试使用 TypeScript、Jest 和 jQuery 编写单元测试。我已经走了很远,但是当我运行测试时,我得到“jQuery 需要一个带有文档的窗口”
显然,问题在于import * as $ from "jquery"
(见这个问题)也会初始化 jQuery,但当时没有窗口。我需要的是 jQuery 模块的“懒惰”版本,除了符号本身之外,$(document).ready(...)
这通常是一种。$
背景:我将 jQuery 安装为npm install @types/jquery
. 我jsdom
用来创建一个假窗口。我正在使用ts-jest
将 TS 文件转换为 JavaScript for jest
. npx jest --watch
使用或运行测试npm t
。
我想避免global.$
在Jest setupFile中使用,因为许多测试不需要开销。
jestjs - TypeError:无法读取未定义的属性“产品”,来自模拟函数
我正在使用 Jest 和 Enzyme 编写组件测试。
测试的组件使用了一个名为 Service 的类的导入静态方法,该类直接分派到商店。
组件本身调用了 中的两个Service
类元素componentDidMount
,但也调用了组件的其他部分:
我试过用一个简单的模拟来模拟四个类方法,后来甚至尝试测试toBe
组件上最简单的元素:
但是,在运行测试时,我收到一条错误消息:
TypeError:无法读取未定义的属性“产品”
错误跟踪如下:
因此,如您所见,路径直接回到减速器。这是我希望避免的,因此为函数添加了模拟。
我不确定这段代码可能有什么问题,互联网正在慢慢停止对可能出现的问题有任何想法。
在这里的任何帮助将不胜感激。
另外,如果提供的资源不够,请告诉我。
JEST 版本是21.2.1
. 不幸的是,由于该软件包与我正在使用的另一个软件包紧密相连,我无法更改它(版本)。
react-native - react-native, jest, ts-jest: ReferenceError: React is not defined
几天来,我一直在努力使用 expo + typescript + jest + ts-jest 运行简单的 react-native 测试。我已经在这里问了一个相关问题这 是我的项目的设置:
- tsconfig.json
- babel.config.json
- jest.config.js (请参阅react-native + ts-jest 的官方 github 设置)
我收到这个错误
ReferenceError: React is not defined
因为我在我的文件中导入这样的反应:
import React from 'react'
如果我像它一样导入import * as React from 'react'
。
任何帮助将不胜感激,因为我已经在这个项目中度过了几天。
typescript - 如何模拟尚不存在的节点模块?
没有这样的module.ts
sum.ts
样本.test.ts
错误
是否可以模拟尚不存在的节点模块?no-such-module
我在 ts 文件中声明了a 。我正在尝试从模块中模拟一个函数。
typescript - Ts-Jest Typescript 诊断:错误 TS2307:找不到模块
我在一个混合了 js 和 ts 文件的 vue 项目中使用 ts-jest。该项目使用该@
字符将导入相对映射到目录src/renderer/
。TS 为找不到模块发出警告。我可以忽略警告并通过执行以下操作运行测试:
但我希望导入按预期运行。
jest.config.js
考验在于,test/unit/regexes.spec.ts
进口在于src/renderer/resources/regexes.ts
我得到的具体错误是:
javascript - 如何检查是否在嵌套的笑话模拟函数中调用了方法
我有一个像下面这样的模拟服务
在我的测试中,我想expect
是否initializeApp
已被调用。我该如何检查?
更新:真实场景
我想在下面检查
reactjs - 如何使用 jest 和 typescript 测试一个基本的反应功能组件
这有点令人震惊,但我长期以来一直试图找到一个简单的例子来说明如何使用 jest 和 typescript 测试一个愚蠢的反应组件,但我无法成功。我看过: https ://basarat.gitbooks.io/typescript/content/docs/testing/jest.html 如何将 react-test-renderer/shallow 与 typescript 一起使用? 如何在 Jest 单元测试中查看渲染的 React 组件是什么样的?
没有任何效果。大多数时候我得到
我是新来的反应和开玩笑。我试过 react-test-renderer 和酵素。在这个阶段我也不介意,最不可知的可能会很棒。
我所拥有的:这是我的 package.json
如您所见,我希望使用 typescript 进行强类型测试,这就是我需要酶类型的原因。
我有一个愚蠢的反应组件 App.tsx
我想有一个测试文件App.test.ts
,我只是测试给定<App name="whatever" />
渲染,DOM应该有<h1>Hello, whatever</h1>
我的尝试是:
它因上述错误而失败,而且 VS Code 在浅参数上显示错误,就好像它不理解 JSX。
如果需要我jest.config.js
的是:
没有比这更简单的了,但我失败了!
PS:我发现的绝大多数文章都没有使用打字稿和类型定义,但这是我想要的。
typescript - Jest mock 总是给出 undefined (typescript + ts-jest)
我似乎无法使模拟正常工作。
一点上下文:
storage.ts包含一个方法
getOsTmpDir
。moduleA.ts正在消耗storage.ts
在moduleA.spec.ts中:
打印(在console.log(getOsTmpDir());
给出未定义的
我尝试过的其他事情:
getOsTmpDir: jest.fn(() => '/tmp')
getOsTmpDir: jest.fn().mockReturnValue('/tmp')
但似乎没有任何帮助。我错过了什么?
编辑:我发现了问题。我没有注意到在每次测试之前所有模拟都在重置,并且由于我已经在文件顶部定义了模拟(一次),所以模拟在运行任何测试之前就被终止了
beforeEach(async () => {
jest.resetAllMocks(); <----
....
}
typescript - 开玩笑地测试异常
我有一个新Array.prototype
方法
如何编写测试用例来验证是否抛出错误?
我也试过了toThrowError
,但没有运气。