问题标签 [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 - 运行一个将 typescript 测试与 jest 合并的声明
我有一个有趣的项目,我想在其中执行这个测试文件(在项目/_ _ 测试 _ _/example.spec.ts 中):
源代码(在 project/src/source.ts 中):
我开玩笑的配置:
tsConfig.test.json 文件:
测试的执行因语法错误而失败:
任何人都知道我如何能够开玩笑来执行这个测试?谢谢 !
angular - 我无法正确配置 jest 以导入模块 (setupFilesAfterEnv)
在测试角度项目时,我使用@angular-builders/jest
它是为了用玩笑来替换业力。有 2 个库我喜欢为玩笑获得额外的匹配器:jest-extended
和@testing-library/jest-dom
.
我找不到自动导入匹配器的方法,因此我不必在每个规范文件中导入它们。
重现问题的最小示例jest-extended
首先,创建一个 Angular 项目并安装 jest 依赖项
然后编辑angular.json
以替换生成器
到目前为止,我可以使用 jest 命令运行并通过测试
现在我使用一个开玩笑扩展的匹配器添加一个测试。在app.component.spec.ts
:
尝试#1
创造jest.config.js
不起作用,我得到错误TS2339: Property 'toBeArrayOfSize' does not exist on type 'ArrayLikeMatchers<number>'
尝试#2
使用中间设置文件;创造jest.config.js
和my-jest-setup.ts
作品!测试通过...但是只要我更改了规范文件中的某些内容
并再次运行测试,我得到与尝试 #1 相同的错误。我怀疑缓存问题
解决方法
在每次运行之前使用尝试 #2 并清除玩笑缓存
我不喜欢这种解决方案,因为缓存旨在加快速度,并且当有许多规范文件时,每次清除缓存都会产生敏感影响。此外,我认为在手表模式下使用 jest 时不可能清除缓存
抱歉,有点长,谢谢你读到最后
react-native - React Native Jest 错误:无法从“react-native-implementation.js”中找到模块“warnOnce”
运行时出现此错误npm test
。我查看了许多建议对 , 进行编辑的帖子、解决方案等,package.json
但babel.config.js
我jest.config.js
仍然收到此错误。我认为这可能是 React Native 的版本问题,但我使用的是最新版本 0.60.4,并且在一些问题中提到这在 master 中已解决。也许我忽略了一些东西,但我对它可能是什么还不够。
以下是因此失败的测试:
想法?
包.json
jest.config.js
babel.config.js
javascript - Typescript - 我无法使用 jest、@types/jest 和 ts-jest 编译项目
我正在尝试用玩笑来模拟我的axios
请求。这是我的测试:
这是我的package.json
:
最后,这是我的tsconfig.json
:
问题是:当我尝试编译我的项目时,终端说:
我发现的大部分讨论都说升级typescript
版本并jasmine
从项目中删除。如您所见,jasmine
我的项目中没有,而且我的typescript
版本是最新版本。为什么会这样?
javascript - 开玩笑模拟在模块导出之前实例化的依赖项
我正在尝试测试一个导出一个默认函数的文件,并且还在导出函数之前实例化一个对象,每次调用导出函数时该对象都需要保持为同一个实例。
这是该模块的简化版本:
我想测试发送到 client.get() 函数的 url 是否正确,所以这里是测试:
测试运行时,来自的响应myModule({})
始终未定义。
但是,如果我将该const client = new HttpClient()
行向下移动到导出函数的内部,它会正常工作并myModule({})
返回test
.
我只需要定义一次 HttpClient ,并且每次调用函数时都使用相同的实例,因此必须在函数外部对其进行实例化。如何模拟该对象创建以返回我的自定义值?谢谢。
typescript - Jest TypeScript 测试在 Jenkins 中失败
我们有一个 React / TypeScript 项目,并使用 Jest + ts-jest 作为我们的测试运行器。在本地一切正常,但在我们的 Jenkins CI 中运行时失败。
这是 Jenkins 控制台的一个片段:
奇怪的是,Jest 说“未找到测试”但也说“testMatch:... 38 个匹配”
typescript - 开玩笑的模拟节点模块不适用于打字稿
我尝试模拟uuid/v4
来自 npm 的模块。为此,我按照 jest 的建议创建了一个模拟文件夹:https ://jestjs.io/docs/en/manual-mocks
我的文件夹结构:
模拟节点模块文件v4.ts:
当我尝试在我的测试文件中导入 uuid/v4 时,jest 通常应该导入模拟并且我应该能够使用它。
这是我的测试文件:
不幸的是,模拟导入似乎不起作用,因为我无法添加mockReturnValue
jest 提供的内容,并且出现以下打字稿错误:
property 'mockReturnValue' does not exist on type v4. ts(2339)
你知道我该如何解决吗?提前谢谢。
typescript - 使用 jest 模拟 AWS.DynamoDB.DocumentClient 的构造函数
我有一个看起来像这样的函数:
我想测试功能连接。我已经像这样模拟了 DynamoDB 构造函数:
但是,这意味着DocumentClient
构造函数失败。我该如何嘲笑呢?
typescript - 无法用打字稿设置笑话
我正在按照这个例子为打字稿项目设置一些基本的单元测试:https ://dev.to/muhajirdev/unit-testing-with-typescript-and-jest-2gln
我有一个main.ts
导出isInternalLink
功能
和一个main.spec.ts
试图测试它的
但我收到以下错误:
这是带有完整示例的公共回购:https ://gitlab.com/opensas/jest-typescript
谁能指出我正确的方向,或提供一个可行的例子?
typescript - 按照 Jest Docs,在 mockImplementation() 上出现错误。我究竟做错了什么?
我正在尽我最大的努力跟随文档开玩笑,我也在尽我最大的努力自学。我在关注官方笑话网站上的文档时遇到问题。我在模拟模块部分。它与 axios 有关,但我一直在打字稿中收到错误,即 mockImplementation 不是一个属性(无论模拟是什么)
我试着环顾四周,看看这是否是我的配置问题,但我无法弄清楚。
脚.ts
测试.ts
这是我在 mockImplementatin 上遇到的错误
我所做的就是遵循文档。在我进入分区之前,我没有任何问题。