You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript文件报SyntaxError错误,Jest测试配置问题求助

问题解决:TypeScript Jest测试出现SyntaxError

1. 立即修复:语法错误

你的Helper.spec.ts文件末尾的describe块未正确闭合,最后一行的}前缺失对应的),这是触发SyntaxError的直接原因。

修正后的Helper.spec.ts代码:

import { Helper } from './Helper';

describe('Helpers tests', () => {
  test('isDefined deve retornar true se o valor estiver definido', () => {
    expect(Helper.isDefined('')).toBeTruthy();
    expect(Helper.isDefined(null)).toBeFalsy();
    expect(Helper.isDefined(undefined)).toBeFalsy();
    expect(Helper.isDefined(0)).toBeTruthy();
    expect(Helper.isDefined('hello')).toBeTruthy();
  });

  test('isNotDefined deve retornar true se o valor não estiver definido', () => {
    expect(Helper.isNotDefined('')).toBeFalsy();
    expect(Helper.isNotDefined(null)).toBeTruthy();
    expect(Helper.isNotDefined(undefined)).toBeTruthy();
  });

}); // 补上缺失的闭合括号

2. TypeScript Jest 配置补充

修复语法错误后,还需调整配置让Jest正确处理TypeScript文件:

调整依赖

移除babel-jest,安装适配TypeScript的ts-jest和ts-node:

npm uninstall babel-jest
npm install --save-dev ts-jest ts-node

添加Jest配置文件

在项目根目录创建jest.config.ts:

import type { Config } from '@jest/types';

const config: Config.InitialOptions = {
  preset: 'ts-jest',
  testEnvironment: 'node',
  moduleFileExtensions: ['ts', 'js'],
  testMatch: ['**/*.spec.ts'],
  transform: {
    '^.+\\.ts$': 'ts-jest',
  },
};

export default config;

适配tsconfig配置

创建tsconfig.test.json(继承主配置并调整Jest所需的模块格式):

{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "module": "CommonJS",
    "noEmit": false
  },
  "include": ["src/**/*.spec.ts", "src/**/*.ts"]
}

然后在jest.config.ts中指定该测试配置:

import type { Config } from '@jest/types';

const config: Config.InitialOptions = {
  preset: 'ts-jest',
  testEnvironment: 'node',
  moduleFileExtensions: ['ts', 'js'],
  testMatch: ['**/*.spec.ts'],
  transform: {
    '^.+\\.ts$': 'ts-jest',
  },
  globals: {
    'ts-jest': {
      tsconfig: 'tsconfig.test.json',
    },
  },
};

export default config;

3. 验证修复

运行测试命令验证:

npx jest

内容的提问来源于stack exchange,提问作者Paulo André

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 04:45:06