如何在不实际运行时查看Cypress将执行的测试文件?
查看Cypress匹配的测试文件及用例数量(无需运行测试)
你可以通过两种方式实现需求,无需实际执行测试套件:
方法一:用Cypress Module API编写自定义脚本
利用Cypress的Module API直接读取配置、匹配spec文件,并解析文件内容统计用例数量,全程不启动测试运行流程。
- 在项目根目录创建脚本文件(比如
check-cypress-specs.js),写入以下代码:
const cypress = require('cypress') const fs = require('fs') const path = require('path') async function inspectSpecs() { // 加载当前项目的Cypress配置 const config = await cypress.config() // 获取符合配置的所有spec文件 const matchedSpecs = await cypress.specs(config) console.log(`共匹配到 ${matchedSpecs.length} 个测试文件`) console.log('\n=== 详细信息 ===') // 遍历每个文件,统计测试用例和套件数量 for (const spec of matchedSpecs) { const fileContent = fs.readFileSync(spec.absolute, 'utf8') // 基础匹配:统计it(测试用例)和describe(测试套件)的数量 const testCaseCount = (fileContent.match(/it\(/g) || []).length const testSuiteCount = (fileContent.match(/describe\(/g) || []).length console.log(`文件路径:${spec.relative}`) console.log(` 测试套件数:${testSuiteCount} | 测试用例数:${testCaseCount}`) console.log('---') } } // 执行脚本并处理错误 inspectSpecs().catch(err => { console.error('获取spec信息失败:', err) process.exit(1) })
- 运行脚本:
node check-cypress-specs.js
注意:上述代码是基础的字符串匹配,若你的测试文件存在嵌套用例、注释里的
it/describe字符串等情况,可改用AST解析工具(如@babel/parser)进行精准统计,避免误判。
方法二:通过调试日志查看完整文件列表
如果只是需要查看完整的匹配文件路径,无需统计用例数量,可以通过Cypress的调试日志输出完整内容,避免截断:
运行命令时添加调试环境变量:
CYPRESS_DEBUG=cypress:server:specs cypress run --spec "你的匹配模式"
该命令会启动Cypress,但会在日志中完整输出所有匹配的spec文件路径,你可以在测试开始前手动终止进程,不会执行测试。
内容的提问来源于stack exchange,提问作者DukeSilver
相关产品推荐
相关产品推荐

