好吧,我正在用Typescript编写一些NPM模块,但是我没有使用Webpack来编译脚本。
我应该如何配置jest以使其与打字稿文件一起正常运行?
// 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个匹配项
答案 0 :(得分:2)
第1步:安装
npm i jest @types/jest ts-jest -D
说明:
安装jest框架(jest)
安装玩笑的类型(@ types / jest)
安装用于Jest的TypeScript预处理器(ts-jest),这允许 开玩笑地翻译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