Jest配置中的源文件

时间:2019-08-06 13:18:02

标签: typescript jestjs ts-jest

我希望使用打字稿执行测试,我使用ts-jest。 但是,我的测试失败了,因为spec.ts文件需要一组似乎无法检索的依赖项。我已经包含了tsconfig文件,该文件包含一个file属性以及所有必需的依赖文件(并且在正常编译中有效)。以下是将tsConfigjest配置的方法:

module.exports = {
  globals: {
    'ts-jest': {
      "diagnostics": false,
      "tsConfig": "tsconfig.json"
    }
  },
  transform: {
    "^.+\\.tsx?$": "ts-jest"
  },
  coverageDirectory: "coverage",
  testEnvironment: "node",
  testMatch: [
      './**/test/**/mobilite-manager.get-info-machine.spec.ts'
  ]
};

tsconfig文件如下所示:

{
  "compileOnSave": false,
  "compilerOptions": {
    "allowJs": false,
    "moduleResolution": "classic",
    "sourceMap": true,
    "inlineSources": true,
    "declaration": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "outDir": "./dist-fwk-client/",
    "outFile": "./dist-fwk-client/framework-client.js",
    "typeRoots": [
      "node_modules/@types",
      "./node_modules/typescript/lib/lib.d.ts"
    ]
  },
  "files": [
       "path/to/source/file.ts", 
       "another/path/to/some/source/file1.ts", 
       "different/path/to/source/file2.ts", 
       ...
  ]
}

我还确保没有任何依赖关系的测试文件执行良好。

现在,我收集到的是,在运行jest时,建议所有源文件都放在src文件夹中,并在test__tests__文件夹中测试文件,但是,我的源代码文件不能放入平面src文件中,并且结构在文件夹树中。换句话说,在执行每个测试时,我需要使用files的{​​{1}}属性,并且需要tsConfig来解决这个问题。那可行吗?

0 个答案:

没有答案