如何在 Nuxt 3 中使用 vitest 編寫元件單元測試?
P粉953231781
P粉953231781 2024-03-25 19:18:28
0
1
581

我正在嘗試從 Vue 3 遷移到 Nuxt 3。我已經使用vitest 為我的元件編寫了單元測試,這些測試在我的Vue 應用程式中工作正常,但Nuxt 應用程式中的相同測試給出了以下錯誤:

錯誤:無法解析來源以進行導入分析,因為內容包含無效的 JS 語法。

安裝@vitejs/plugin-vue來處理.vue檔。

我已經安裝了 @vitejs/plugin-vue 作為開發依賴項,但沒有任何反應。

這是我的測試文件的範例:

import { describe, it, expect } from "vitest";

import { mount } from "@vue/test-utils";
import AtomsButton from "./AtomsButton.vue";

describe("AtomsButton", () => {
  it("button renders properly", () => {
    const wrapper = mount(AtomsButton, { slots: { default: "Button" } });
    expect(wrapper.html()).toContain("Button");
  });
});

這是我的 package.json 檔案:

{
  "private": true,
  "scripts": {
    "build": "nuxt build",
    "dev": "nuxt dev",
    "generate": "nuxt generate",
    "preview": "nuxt preview",
    "test:unit": "vitest --environment jsdom"
  },
  "devDependencies": {
    "@nuxt/test-utils-edge": "^3.0.0-rc.3-27571095.9379606",
    "@vitejs/plugin-vue": "^2.3.3",
    "@vue/test-utils": "^2.0.0",
    "jsdom": "^19.0.0",
    "nuxt": "3.0.0-rc.3",
    "vitest": "^0.13.1"
  }
}

我不知道我做錯了什麼。任何幫助將不勝感激。

這裡是複製連結

P粉953231781
P粉953231781

全部回覆(1)
P粉038161873

我也遇到了這個問題,並且能夠透過僅使用 Vitest 的自訂 Vite 設定檔來使其工作。

package.json 檔案:

{
  "scripts": {
    "build": "nuxt build",
    "dev": "nuxt dev",
    "generate": "nuxt generate",
    "test:unit": "vitest --config ./vitest.config.js",
    "preview": "nuxt preview"
  },
  "devDependencies": {
    "@nuxtjs/tailwindcss": "^5.1.2",
    "@vitejs/plugin-vue": "^2.3.3",
    "@vue/test-utils": "^2.0.0",
    "jsdom": "^19.0.0",
    "nuxt": "3.0.0-rc.4",
    "vitest": "^0.14.2"
  }
}

vitest.config.js 檔案:

import vue from '@vitejs/plugin-vue';

export default {
  plugins: [vue()],
  test: {
    globals: true,
    environment: 'jsdom',
  },
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板