JestJs学习笔记

JestJs

  • 前言
  • 快速入门
    • 安装
  • Promise

前言

本学习笔记不会全部记录所有JestJs知识,偏重于学习中的个人总结。

快速入门

安装

安装脚本:

npm install --save-dev jest

运行脚本,配置在package.json

{
  "scripts": {
    "test": "jest"
  }
}
  1. jest默认检索规则为**/__tests__/**/*.[jt]s?(x)**/?(*.)+(spec|test).[tj]s?(x)
  2. jest的检索规则是可以通过配置文件修改的,具体参考testMatch配置属性说明
  3. 无论文件目录结构如何,都不影响jest对测试文件的监听和检索
  4. 基于vite脚手架的项目,推荐使用vitest

Promise

jest的except方法是可以直接使用.resolves.rejects对结果进行处理的。但是.rejects的处理效果并不理想。

function wait(ms, flag) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      if (flag) {
        resolve(flag);
      } else {
        reject(`error ${flag}`);
      }
    }, ms);
  });
}

test("test for promise", async () => {
  expect(wait(1000, true)).resolves.toBeTruthy();
  expect(wait(1000)).rejects.toBe(2); // pass
});

test("test for catch", async () => {
  expect.assertions(1);
  return wait(1000).catch((err) => expect(err).toMatch("no")); // no pass
});

JestJs学习笔记_第1张图片
从处理结果我们可以看到,.rejects并没有被检查出来。所以我们还是要通过catch调用来完成对错误数据的检测。

你可能感兴趣的:(#,自动化测试,前端,学习,前端)