语法错误:意外的标记,打字稿文件中应有“,”

问题描述 投票:0回答:1

我有2个文件,一个是具有一些功能的Helper.ts,另一个是Helper.spec.ts,它是使用jest的Helper.ts的测试文件。

我将其与纯javascript一起使用,但我将其更改为typescript,我安装了types/jest,我的jest文件是Helper.test.js,我将其更改为Helper.spec.ts,从那以后我遇到了此错误,有人可以帮我弄清楚吗? Error print

这是我的 Helper.ts 的一部分:

export class Helper {
  static isDefined(value: any): boolean {
    const s = value;
    const status = s !== null && s !== undefined;
    return status;
  }

  static isNotDefined(value: any): boolean {
    return !this.isDefined(value);
  }
}

这是我的 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();
  });

}

这是我的tsconfig.json,不知道有没有帮助

{
  "compilerOptions": {
    "target": "ESNext",
    "module": "ESNext",
    "strict": true,
    "jsxImportSource": "vue",
    "noImplicitThis": true,
    "jsx": "preserve",
    "allowImportingTsExtensions": true,
    "moduleResolution": "node",
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true
  },
  "types": ["@types/node", "@types/vue", "webpack-env"],
  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
  "exclude": ["node_modules"]
}

我的 package.json 中没有任何笑话配置,只有 :

    "@types/jest": "^29.5.12",
    "@typescript-eslint/eslint-plugin": "^7.6.0",
    "@typescript-eslint/parser": "^7.6.0",
    "babel-jest": "^29.7.0",
    "jest": "^29.7.0",

我检查了逻辑,没有发现任何错误,也许我遗漏了一些东西

typescript jestjs ts-jest
1个回答
0
投票

您是否可能丢失了

jest.config.json
文件?

它应该看起来像这样:

{
  "moduleFileExtensions": ["js", "json", "ts"],
  "rootDir": "src",
  "testRegex": ".*\\.spec\\.ts$",
  "maxWorkers": "100%",
  "transform": {
    "^.+\\.(t|j)s$": [
      "ts-jest", {
        "isolatedModules": true
      }
    ]
  },
  "collectCoverageFrom": [
    "**/*.(t|j)s"
  ],
  "coverageDirectory": "../coverage",
  "coveragePathIgnorePatterns": ["index.ts", ".module.ts", "main.ts"],
  "testEnvironment": "node",
  "moduleNameMapper": {
    "@/(.*)": "<rootDir>/$1"
  }
}

请记住,我发布了来自 NodeJS 服务器的示例;根据您的情况,可能需要其他选项。

© www.soinside.com 2019 - 2024. All rights reserved.