相关疑难解决方法(0)

在 vitest 中自动导入 vue 反应系统,用于测试 Nuxt 3 和 vitest 中的可组合项

我在 Nuxt 3 中使用一些实用程序。vue 反应系统(refcomputed , ...)也是直接导入的。然而,测试的情况并非如此。

\n

运行导入可组合项的规范文件./useBusinessValidation会引发错误ReferenceError: ref is not defined

\n

源文件./useBusinessValidation

\n
import { MaybeRef } from "@vueuse/core"\n\nexport const useBusinessValidation = <T>(rule: (payload: T) => true | string, payload: MaybeRef<T>) => {\n  const validation = computed(() => rule(unref(payload)))\n\n  const isValid = computed(() => validation.value === true)\n  const errorMessage = computed(() => isValid.value ? undefined : validation.value as string)\n\n  return {\n    isValid,\n    errorMessage\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

规格文件useBusinessValidation.spec.ts

\n …

vuejs3 nuxtjs3 vitest

6
推荐指数
1
解决办法
2926
查看次数

使用 vitest 测试 Nuxt3 内的 Pinia 存储会抛出“useRuntimeConfig”未定义

我正在nuxt3应用程序中测试 pinia 商店。

在商店内部setup(),我用来useRuntimeConfig从公共配置变量中获取计数器的初始值,但出现此错误,ReferenceError: useRuntimeConfig is not defined不知道如何解决

// store/counter.ts

...
state: () => {
    const runtimeConfig = useRuntimeConfig()
    const count = runtimeConfig.public.count
    return {
      ...
      count
      ...
    }
  },
...
Run Code Online (Sandbox Code Playgroud)

代码

// store/counter.test.ts

import { fileURLToPath } from 'node:url'
import { describe, expect, it, beforeEach } from 'vitest'
import { setActivePinia, createPinia } from 'pinia'
import { useCounter } from './counter'
import { setup } from '@nuxt/test-utils'

await setup({
  rootDir: fileURLToPath(new …
Run Code Online (Sandbox Code Playgroud)

nuxt.js vite nuxtjs3 pinia vitest

4
推荐指数
1
解决办法
5995
查看次数

标签 统计

nuxtjs3 ×2

vitest ×2

nuxt.js ×1

pinia ×1

vite ×1

vuejs3 ×1