什么是vitest
在高层次上,Vitest 与 Jest 兼容,并提供开箱即用的 ESM、Typescript 和 JSX 支持,并且由 esbuild 提供支持。它使用 Vite 开发服务器在测试期间转换您的文件并监听您的应用程序的相同配置(通过vite.config.js),从而消除使用 Jest 等测试替代方案所涉及的重复。
为什么选择vitest
Vite 是一个构建工具,旨在为现代 Web 项目提供更快、更精简的开发体验,开箱即用地支持常见的 Web 模式、glob 导入和 SSR 原语等功能。它的许多插件和集成正在培育一个充满活力的生态系统。
但这导致了一个新问题:为在 Vite 上运行的应用程序编写单元测试。
使用 Jest 和 Vite 之类的框架会导致 Vite 和 Jest 之间的配置出现大量重复,Vitest 通过消除为我们的应用程序编写单元测试所需的额外配置工作来解决这些问题。Vitest 使用与 Vite 相同的配置,并在开发、构建和测试期间共享一个通用的转换管道。它也可以使用与 Vite 相同的插件 API 进行扩展,并提供与Jest 的 API的兼容性,以便从 Jest 轻松迁移而无需进行大量重构。
由于这一切,Vitest非常快。所以让我们开始使用它。
安装
npm install -D vitest
yarn add -D vitest
文件配置
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
export default defineConfig({
plugins: [vue()],
//add test to vite config
test: {
// ...
},
});
vitest
常见的 Vitest 方法
为了编写我们的测试,我们需要使用以下常用方法,这些方法可以从 Vitest 中导入:
describe:此函数接受名称和函数,用于将相关测试组合在一起。当您为具有多个测试点(例如逻辑和外观)的组件编写测试时,它会派上用场。
test/ it:这个函数代表被测试的实际代码块。它接受一个字符串,该字符串通常是测试用例的名称或描述(例如renders the correct style for success)和另一个用于进行所有检查和测试的函数。
expect:此函数用于测试值或创建断言。它接受一个预期为实际值(字符串、数字、对象等)的参数xtoEqual(y) ,并使用任何支持的方法(例如检查x是否与 y 相同)对其进行评估。
网友评论