我只希望测试文件位于src外部的特定测试目录中。
简单的例子:
simple-app
1.src
2.tests
玩笑配置:
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
verbose: true,
roots: ['<rootDir>/src'],
transform: {
'^.+\\.tsx?$': 'ts-jest',
},
testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
snapshotSerializers: ["enzyme-to-json/serializer"],
setupFilesAfterEnv: ["<rootDir>src/setupEnzyme.ts"],
moduleNameMapper: {
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
"\\.(css|less|scss|sass)$": "identity-obj-proxy"}
};
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react"
},
"include": [
"src"
]
}
我通过以下方式在package.json中指定了我的测试命令:
"test:local": "jest ./tests/local.test.ts",
我尝试了很多次,但是没有用。任何帮助将不胜感激?
答案 0 :(得分:0)
在jest config中,如果要测试ouside src目录,则应删除src路径。
这里是示例:
看起来像roots: ['<rootDir>/'],
。我以为那是可行的。