You need to enable JavaScript to run this app. Playwright JS 如何将 Jest 测试代码/目录迁移到 Playwright Test Runner
优惠活动
大模型
产品
解决方案
定价
更多

Playwright JS 如何将 Jest 测试代码/目录迁移到 Playwright Test Runner

Jest+Playwright项目迁移至Playwright Test Runner解决方案

针对你遇到的4个问题,可按以下步骤处理,无需强行修改现有项目结构和代码即可完成迁移:

1. 测试文件命名不匹配问题

Playwright Test Runner 并未强制要求必须使用.spec.js后缀,可通过修改配置适配现有命名规则:

  • 在配置文件中添加testMatch配置项,匹配你的.test.js文件:
    testMatch: ["**/?(*.)+(test).js"]
    
  • 如需统一改成.spec.js后缀,可使用批量重命名命令:
    • Linux/Mac 终端:rename 's/\.test\.js$/.spec.js/' **/*.test.js
    • Windows PowerShell:Get-ChildItem -Recurse -Filter *.test.js | Rename-Item -NewName { $_.Name -replace '\.test\.js$','.spec.js' }

2. 目录结构不匹配问题

无需调整现有组件目录结构,修改配置中的testDir项指定测试文件根目录即可:

  • 如果你所有测试文件都放在组件目录下,直接设置testDir: "./"即可,配合上面的testMatch规则可自动扫描所有符合规则的测试文件,不需要强行迁移到tests/目录。

3. Jest关键字不兼容问题

两种方案可选,优先推荐自动迁移工具:

  • 官方提供codemod工具可自动转换Jest语法为Playwright Test语法,执行命令即可完成全量代码转换:
    npx @playwright/test/codemod jest <你的测试文件根目录路径>
    工具会自动把describe替换为test.describe、兼容test/expect等Jest常用API。
  • 如需保留原有Jest语法不修改业务代码,可在全局配置中注入全局变量:
    新增全局初始化脚本,在配置的globalSetup配置项指向该脚本,脚本内添加:
    const { test, expect } = require('@playwright/test');
    global.describe = test.describe;
    global.test = test;
    global.expect = expect;
    

4. 配置文件模块格式报错问题

Playwright Test完全支持CommonJS格式的配置文件,不需要强制使用ES Module:

  • 把配置文件中的export default替换为module.exports
  • 如果你的项目package.json中设置了"type": "module",可把配置文件重命名为playwright.config.cjs,明确指定为CommonJS格式即可正常读取。

内容的提问来源于stack exchange,提问作者Mairaj Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 20:03:03