我使用的是jest
和ts-jest
,它们按照ts-jest
在其文档中描述的方式进行配置。
如果我运行yarn test --listTests
,我可以看到我要运行的测试文件:processNewUser.ts
包含在我的项目中__test__
文件夹的输出中。
我只能使用yarn test --testPathPattern='processNewUser'
运行该测试
但是如果我尝试使用yarn test --testNamePattern='Processes new user. Auth'
,这是测试的名称,那么每个测试都会运行,包括所有没有指定名称字符串的测试。
同样的:yarn test -t="Auth"
yarn test -t Auth
yarn test --testNamePattern "Auth"
jest Auth
jest -t="Processes"
等等,以及语法的每一个组合。也尝试了命名describe
函数 Package 器而不是测试。没有运气。
我的tsconfig.json
是:
{
"compilerOptions": {
"target": "ES6",
"module": "commonjs",
"outDir": "dist",
"sourceMap": true,
"allowJs": true,
"strict": true,
"noImplicitAny": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"removeComments": false,
"skipLibCheck": true,
"allowSyntheticDefaultImports": true,
"lib": [
"ES2020.Promise",
"ES2015.Iterable",
"ES2015.Symbol.WellKnown"
],
},
"include": ["src/**/*"],
}
我的jest.config.ts
是:
import type {Config} from '@jest/types';
const config: Config.InitialOptions = {
clearMocks: true,
coverageDirectory: 'coverage',
coverageProvider: 'v8',
moduleFileExtensions: ['js', 'json', 'jsx', 'ts', 'tsx', 'node'],
preset: 'ts-jest',
setupFiles: ['dotenv/config'],
setupFilesAfterEnv: ['./jest.setup.js'],
testEnvironment: 'node',
transform: {
'^.+\\.tsx?$': 'ts-jest',
'^.+\\.ts?$': 'ts-jest',
},
transformIgnorePatterns: ['/node_modules/', '\\.pnp\\.[^\\/]+$'],
}
export default config;
纱剧本只是:"test": "jest",
个
我希望它能够用auth
标记一个测试,例如运行所有的auth测试。
有什么帮助吗?
2条答案
按热度按时间kninwzqo1#
我遇到了同样的错误,但我发现实际上错误是因为我将其余代码与npm连接在一起,由于某种原因,npm没有将这些额外的命令与脚本沿着添加到package.json中
用纱运行
exemple
bq3bfh9z2#
按名称筛选测试的 predicate 定义如下:
请注意,它会根据每个规范的全名检查创建的正则表达式。例如,测试套件本身的名称加上所有周围描述块的名称。