一、安装 二、配置 由于vite和vitest是统一的配置,直接在vite.config中配置即可。
注意,这里由于我们是要进行配置vite本身,所以需要在顶端加上三斜线命令
再向package.json中加上如下命令即可开启我们的单元测试之旅:
{
"scripts": {
"test": "vitest",
"coverage": "vitest run --coverage"
}
}
describe 描述, decribe会形成一个作用域
it 定义了一组关于测试期望的方法, 它接收测试名称和一个含有测试期望的函数
expect用来创建断言
toBe 可用于断言基础对象是否相等
同时运行多个测试:it.concurrent
import { noop, deepClone, inBrowser, get, toArray } from "../src/basic"
import { describe, expect, it } from "vitest"
it("空函数定义", () => {
expect(typeof noop).toBe("function");
});
it("判断是否在浏览器环境中", () => {
expect(typeof inBrowser).toBe("boolean");
});
it("获取对象路径上的值", () => {
const object = {
a: {
b: {
c: "abc",
},
},
};
expect(get(object, "a.b.c")).toBe("abc");
});
it("转换为数组", () => {
expect(toArray(1)).toEqual([1]);
expect(toArray([1])).toEqual([1]);
});
it("对象深拷贝", () => {
const object = {
a: {
b: {
c: "abc"
},
},
};
const cloneObject = deepClone(object);
expect(cloneObject).toEqual(object);
expect(cloneObject).not.toBe(object);
});
-
命令
pnpm run test后加--coverage即可生成代码覆盖率报告. -
Vitest UI界面
pnpm vitest --coverage --ui