记录前端单元测试和e2e测试踩过的坑【持续更新】

方案

  • 单元测试:jest
  • react组件测试:enzyme
  • e2e测试: puppeteer

问题

  1. 安装 puppeteer 须要设置 chromium 国内镜像
    github.com/cnpm/cnpmjs…
  2. jest 和 puppeteer 结合使用的时候如何保持以前的 JSDOM 环境还能使用
    当设置 jest.config.js 为以下配置以后以前的 JSDOM 环境就没有了,取而代之的是 nodejs 执行环境,若是想要 e2e 测试和 单元测试共存的话,个人方案是设置了两个 jest 配置文件,一个用于配置单元测试,一个用于配置 e2e 测试。
    module.exports = {
      preset: 'jest-puppeteer',
      testMatch: ["**/__tests__/**/*.e2e.[jt]s?(x)"],
    } 
    复制代码
  3. 如何在启动 devserver 以后启动 e2e 测试 个人 e2e 测试须要依赖本地启动一个 devserver,因此我须要等本地 server 启动以后再测试,找了半天终于在 github 上找到一个库 start-server-and-test 专门解决这个问题。
  4. 如何在 puppeteer 里面是用 DOM 操做 其实这个不算是个坑,只不过新人对 puppeteer 可能不熟悉,其实 puppeteer 是提供了一套 api 专门去作 DOM 的操做的。
    pptr.dev/#?product=P… stackoverflow.com/questions/5…
  5. 如何依次执行单元测试和 e2e 测试
    能够试试这个库 npm-run-all 它能够控制你的多个 npm script 任务并行或是串行执行。
相关文章
相关标签/搜索