笑话:我想把测试代码放到'Project/test/'目录下,但是出现配置错误

Jest: I want to put test code under 'Project/test/' directory, but configuration error occured

我想把我的测试代码放在 'Project/test/' 目录下,而不是 'Project/src/moduleName/'.

所以我在 package.json 更改了 jest 配置。

  1. 根目录
  1. moduleNameMapper
"jest": {
    "rootDir": "test",
    "moduleNameMapper": {
      "^src/(.*)$": "src/"
    },
    "moduleFileExtensions": [
      "js",
      "json",
      "ts"
    ],
    "testRegex": ".*\.spec\.ts$",
    "transform": {
      "^.+\.(t|j)s$": "ts-jest"
    },
    "collectCoverageFrom": [
      "**/*.(t|j)s"
    ],
    "coverageDirectory": "../coverage",
    "testEnvironment": "node",
    "coveragePathIgnorePatterns": [
      "node_modules",
      ".entity.ts"
    ]
  }

但是出现配置错误。

Configuration error: Could not locate module src/quests/quests.service mapped as: src/.

enter image description here

如何解决这个错误?我必须搜索什么?还是关键词?

请给我一些建议。

谢谢。

你的根是关于 ./test 但你试图说找到 src/* 作为 src/,Jest 解释为 ./test/src/。你应该做 "^src/(.*)$": "<rootDir>/../src/" 而不是从 rootDir 正确映射