Vitest3.0的发布,能让你成为更高级别的前端工程师!

程序员咋不秃头 2025-03-22 04:54:45

Vitest 3.0 发布啦!!!

两年时间,npm 下载量从 100w 到 800w,牛!!!

为了确保你写的工具库比较严谨,我建议大家还是要学习一下 单元测试 怎么写,现在都是 Vite 项目,所以我们可以学习一下 Vitest

Vitest 是一个基于 Vite 的测试框架,它利用了 Vite 的快速启动和热更新特性,使得测试过程更加高效

npm install --save-dev vitest编写第一个测试

在项目中创建一个 test 目录,并在其中创建一个 example.test.js 文件。我们将在这个文件中编写我们的第一个测试

在这个例子中,我们定义了一个简单的 sum 函数,并编写了一个测试用例来验证它的正确性。 expect 是 Vitest 提供的断言函数,toBe 是匹配器,用于比较实际值和期望值

npx vitest✓ test/example.test.js (1) ✓ adds 1 + 2 to equal 3Test Files 1 passed (1) Tests 1 passed (1) Time 1.23s (in thread 3ms, 41000.00%)测试异步代码

在实际开发中,我们经常需要测试异步代码。Vitest 提供了多种方式来处理异步测试。以下是一个简单的例子:

在这个例子中,我们定义了一个异步函数 fetchData,并在测试用例中使用 async/await 来等待异步操作完成

使用钩子函数

Vitest 提供了多种钩子函数,允许你在测试的不同阶段执行特定的操作。常见的钩子函数包括 beforeEach、afterEach、beforeAll 和 afterAll

在这个例子中,我们在每个测试用例之前重置 counter 的值,并在每个测试用例之后打印 counter 的当前值

模拟函数

在测试中,我们经常需要模拟某些函数的行为。Vitest 提供了 vi.fn() 来创建模拟函数

Vue 组件

如果你想给 Vue 组件写单测,你可以安装 @vue/test-utils

npm install --save-dev @vue/test-utils

假设我们有一个简单的 Vue 组件 MyComponent.vue

接下来,编写测试文件 MyComponent.test.js:

0 阅读:86