Mocha仅运行单个测试用例,如何指定执行单个目标测试文件
问题原因
你当前配置的test脚本默认匹配项目中所有server目录下三层嵌套的.spec.ts文件,在model目录下执行npm test时,Mocha会按默认通配符规则匹配文件,因此只会命中符合通配符规则的root.spec.ts。
解决方法
方法1:通过传参直接指定单文件执行
执行npm命令时加入--将测试文件路径透传给Mocha,即可覆盖默认的通配符匹配规则:
- 如果你在**项目根目录(package.json所在目录)**执行:
npm test -- server/model/test/abc.spec.ts
- 如果你在model目录下直接执行:
npm test -- ./test/abc.spec.ts
方法2:新增专属测试脚本(适合高频单独跑model测试的场景)
可以在package.json的scripts节点新增单独的测试命令配置:
"test:model": "mocha server/model/test/*.spec.ts --exit"
之后任意目录下执行npm run test:model,就只会运行model目录下的所有测试文件,也可以继续加--指定model下的单个测试文件。
额外优化建议
你当前的通配符server/**/**/**.spec.ts写法冗余,可以修改为server/**/*.spec.ts,即可匹配所有server目录下任意层级的.spec.ts测试文件,适配后续新增的测试目录。
内容的提问来源于stack exchange,提问作者sheetaldharerao
相关产品推荐
相关产品推荐

