Nuxt3集成Vuetify与Vitest启动报错:Cannot read properties of undefined (reading 'config')
Nuxt3集成Vuetify+Vitest后Dev模式报错的解决方案
核心问题分析
出现Cannot read properties of undefined (reading 'config')错误,本质是测试文件未适配Nuxt的运行上下文,导致Nuxt worker初始化时无法正确读取配置,移除测试文件后恢复正常也验证了这一点。
具体修复步骤
安装Nuxt测试工具并适配测试文件
直接使用原生Vitest测试会脱离Nuxt环境,需要通过@nuxt/test-utils绑定Nuxt上下文。先安装依赖:npm install -D @nuxt/test-utils然后修改测试文件,添加Nuxt环境初始化代码:
import { describe, it, expect } from 'vitest' import { setup } from '@nuxt/test-utils' // 提前初始化Nuxt测试环境 await setup({ server: true, nuxtConfig: { vuetify: { /* 保留你已有的Vuetify配置 */ } } }) describe('测试套件示例', () => { it('基础测试用例', () => { expect(true).toBe(true) }) })在nuxt.config.ts中添加Vitest适配配置
需要让Nuxt明确识别Vitest的测试环境,避免worker初始化时找不到配置项:export default defineNuxtConfig({ modules: ['@nuxtjs/vuetify'], vuetify: { /* 你的Vuetify图标及样式配置 */ }, // 添加Vitest相关配置 test: { environment: 'nuxt', globals: true } })调整测试文件存放位置
不要将测试文件放在Nuxt自动扫描的目录(如components/、pages/)下,统一放在项目根目录的tests/文件夹中,避免Nuxt dev模式加载时误触发测试逻辑。检查package.json脚本配置
确保dev和测试脚本互不干扰,示例配置:{ "scripts": { "dev": "nuxt dev", "test": "vitest --environment nuxt" } }
内容的提问来源于stack exchange,提问作者MDekker
相关产品推荐
相关产品推荐

