Jest 在没有 webpack 的情况下配置 typescript
Posted
技术标签:
【中文标题】Jest 在没有 webpack 的情况下配置 typescript【英文标题】:Jest configure typescript without webpack 【发布时间】:2019-10-31 00:50:38 【问题描述】:好吧,我正在用 typescript 编写一些 NPM 模块,但我没有使用 Webpack 来编译脚本。
我应该如何配置 jest 以使用 typescript 文件正常运行?
// test.spec.ts
import calc from './index'
test('shoud...', () =>
expect(calc()).toBeDefined()
)
// index.ts
import calc from './index'
const calc = (a, b) =>
return a + b
我收到了这个错误:
testMatch: /__tests__//*.js?(x),**/?(*.)+(spec|test).js?(x) - 0 个匹配项 testPathIgnorePatterns: /node_modules/ - 9 个匹配项
【问题讨论】:
【参考方案1】:第 1 步:安装
npm i jest @types/jest ts-jest -D
说明:
安装 jest 框架(jest)
为 jest 安装类型 (@types/jest)
为 jest (ts-jest) 安装 TypeScript 预处理器,它允许 开玩笑地即时转换 TypeScript 并支持源映射 内置。
将所有这些保存到您的开发依赖项中(测试几乎总是 npm 开发依赖)
第 2 步:配置 Jest
将以下jest.config.js
文件添加到项目的根目录:
module.exports =
"roots": [
"<rootDir>/src"
],
"transform":
"^.+\\.tsx?$": "ts-jest"
,
说明:
我们始终建议将所有 TypeScript 文件放在 src 文件夹中 你的项目。
我们假设这是真的,并使用roots 选项指定它。转换配置只是告诉 jest 将 ts-jest 用于 ts / tsx 文件。笑话文档:https://jestjs.io/docs/en/configuration#transform-object-string-string
参考:https://basarat.gitbooks.io/typescript/docs/testing/jest.html
【讨论】:
以上是关于Jest 在没有 webpack 的情况下配置 typescript的主要内容,如果未能解决你的问题,请参考以下文章
使用 webpack-hot-middleware 配置环境时,Jest 测试失败
为 Typescript、es6 和 Webpack 2 配置 Jest
在 Jest 测试中使用 Webpack 的 DefinePlugin 变量
Jest - Angular 9 - 类构造函数 SomeComponentClass 不能在没有'new'的情况下被调用