ope*_*sas 4 typescript jestjs ts-jest
我正在按照此示例为打字稿项目设置一些基本单元测试:https : //dev.to/muhajirdev/unit-testing-with-typescript-and-jest-2gln
我有一个main.ts导出isInternalLink功能
和一个main.spec.ts试图测试它的
但我收到以下错误:
C:\data\devel\apps\tmp\jest-typescript\src\main.spec.ts:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import { isInternalLink } from './main.js';
SyntaxError: Unexpected token {
at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:537:17)
Run Code Online (Sandbox Code Playgroud)
这是带有完整示例的公共存储库:https : //gitlab.com/opensas/jest-typescript
任何人都可以指出我正确的方向,或提供一个有效的例子吗?
这是一个演示使用jestjs:typescripthttps: //github.com/mrdulin/jest-codelab
devDependencies的package.json:
"jest": "^24.8.0",
"ts-jest": "^24.0.2",
"typescript": "^3.5.3"
Run Code Online (Sandbox Code Playgroud)
在项目的根路径中,创建jest.config.js:
"jest": "^24.8.0",
"ts-jest": "^24.0.2",
"typescript": "^3.5.3"
Run Code Online (Sandbox Code Playgroud)
这就是全部设置。您可以在此处找到文档并按照 4 个步骤操作:https://github.com/kulshekhar/ts-jest#getting-started
Jest TypeScript文档涵盖了使用 babel 预处理 TypeScript 文件,并链接到ts-jest.
要将ts-jest添加到您的项目中,请安装ts-jest:
npm install --save-dev ts-jest
Run Code Online (Sandbox Code Playgroud)
并将其添加到您的 package.json 以预处理 TypeScript 文件:
"jest": {
"transform": {
"^.+\\.tsx?$": "ts-jest"
},
"moduleFileExtensions": [
"ts",
"tsx",
"js",
"jsx",
"json"
]}
Run Code Online (Sandbox Code Playgroud)
在您的项目中执行此操作后,我能够运行测试:
$ npx jest
PASS src/main.spec.ts
? should return false given external link (2ms)
? should return true given internal link
Test Suites: 1 passed, 1 total
Tests: 2 passed, 2 total
Snapshots: 0 total
Time: 1.096s, estimated 2s
Ran all test suites.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2787 次 |
| 最近记录: |