配置Playwright与Jest时提示需通过npx playwright test调用的问题
解决Jest与Playwright测试冲突的问题
问题根源
你碰到的错误是因为Jest尝试执行了Playwright专属的测试文件,而Playwright自带的测试框架和Jest属于两套独立的测试体系,运行逻辑不兼容,直接混合会触发冲突提示。
修复步骤
拆分测试目录
- 给Jest单独创建测试目录,比如
__tests__或jest-tests - 为Playwright创建独立测试目录,比如
playwright-tests(Playwright默认识别tests目录,也可以自定义)
- 给Jest单独创建测试目录,比如
调整Jest配置
在jest.config.js里指定Jest只扫描自身测试目录,排除Playwright的测试文件:module.exports = { preset: 'jest-playwright-preset', testMatch: ['**/__tests__/**/*.js', '**/?(*.)+(spec|test).js'], // 匹配Jest测试文件 testPathIgnorePatterns: ['/node_modules/', '/playwright-tests/'] // 排除Playwright测试目录 };更新package.json脚本
分别添加Jest和Playwright的测试命令,避免运行混淆:{ "scripts": { "test": "jest", "test:playwright": "npx playwright test" } }验证运行
- 执行
npm test只会运行Jest目录下的测试用例 - 执行
npm run test:playwright则运行Playwright的测试用例
- 执行
核心说明
Playwright自带的测试框架和Jest是两个独立的测试体系,混用同一目录会导致运行时逻辑冲突,分开存放测试用例是官方推荐的标准方案,能确保两套测试环境各自正常工作。
内容的提问来源于stack exchange,提问作者Cyro Buosi
相关产品推荐
相关产品推荐

