迁移Jest测试到Vitest时,如何添加jest-extended匹配器?
解决Vitest迁移中jest-extended匹配器的问题
替换无效兼容包,安装官方适配版本
之前用的vitest-extended维护滞后,改用Vitest官方推出的@vitest/jest-extended:npm uninstall vitest-extended npm install -D @vitest/jest-extended全局配置(推荐)
- 新建测试初始化文件,比如
tests/setup.ts,写入:import '@vitest/jest-extended' - 在
vite.config.ts的测试配置中指定该文件:import { defineConfig } from 'vite' export default defineConfig({ test: { setupFiles: ['./tests/setup.ts'], globals: true, // 开启后无需在测试文件手动导入expect environment: 'jsdom', // 前端项目需配置,后端项目可改为'node' }, })
- 新建测试初始化文件,比如
单文件按需引入(可选)
若不想全局配置,可在单个测试文件里直接引入:import { expect } from 'vitest' import '@vitest/jest-extended' // 此时可正常使用toBeString等匹配器 test('示例测试', () => { expect('hello').toBeString() })版本兼容检查
确保vitest与@vitest/jest-extended版本一致(建议安装最新稳定版),避免版本不兼容引发异常。
内容的提问来源于stack exchange,提问作者SiliconValley
相关产品推荐
相关产品推荐

