Nuxt 2.15.8执行Cypress测试时如何忽略根目录下的functions文件夹
解决Nuxt2中Cypress测试忽略Firebase Functions文件夹的方案
下面是几个可行的方案,针对你的场景逐一解决:
修改TypeScript配置排除文件夹
如果测试失败是因为项目类型检查(比如CI里跑了tsc)扫到了functions里的错误,直接在根目录tsconfig.json的exclude数组里加上functions/**/*:{ "exclude": [ "node_modules", ".nuxt", "dist", "functions/**/*" ] }用
jsconfig.json的话同理,把这个路径加进排除列表。限制CI命令的扫描范围
如果CI里的lint或类型检查是全局执行的,修改命令只扫主应用相关目录,跳过functions:- 比如lint命令改成只扫核心目录:
npm run lint -- src/ components/ pages/ store/ - 类型检查命令直接指定排除:
tsc --project ./tsconfig.json --exclude functions/**/*
- 比如lint命令改成只扫核心目录:
调整Cypress配置过滤无关文件
如果是Cypress加载时误处理了functions里的文件,在cypress.json里添加排除规则:{ "ignoreTestFiles": "functions/**/*", "excludeSpecPattern": "functions/**/*" }这会让Cypress完全忽略该文件夹下的所有文件,不会把它们当成测试相关资源处理。
给functions单独配置TypeScript
在functions文件夹里新建独立的tsconfig.json,让根目录的类型检查不干涉它:- 在
functions/下创建tsconfig.json,配置Firebase Functions适配的规则(示例如下):{ "compilerOptions": { "target": "ES2018", "module": "commonjs", "lib": ["ES2018"], "outDir": "lib", "rootDir": "src", "strict": true, "esModuleInterop": true }, "include": ["src/**/*"], "exclude": ["node_modules"] } - 根目录
tsconfig.json排除functions/,这样根目录的类型检查就不会处理这个文件夹,functions的类型检查可以单独执行(如果需要的话)。
- 在
内容的提问来源于stack exchange,提问作者Hannes Saxi
相关产品推荐
相关产品推荐

