Wie schreibe ich Komponenten-Unit-Tests mit vitest in Nuxt 3?
P粉953231781
P粉953231781 2024-03-25 19:18:28
0
1
551

Ich versuche, von Vue 3 auf Nuxt 3 zu migrieren. Ich habe Unit-Tests für meine Komponenten mit vitest geschrieben und diese Tests funktionieren einwandfrei in meiner Vue-Anwendung, aber dieselben Tests in der Nuxt-Anwendung geben den folgenden Fehler aus:

Fehler: Die Quelle kann für die Importanalyse nicht geparst werden, da der Inhalt eine ungültige JS-Syntax enthält.

Installieren Sie @vitejs/plugin-vue, um .vue-Dateien zu verarbeiten.

Ich habe

als Entwicklungsabhängigkeit installiert, aber nichts passiert. @vitejs/plugin-vue

Hier ist ein Beispiel meiner Testdatei:

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");
  });
});

Das ist meine

Datei: 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"
  }
}

Ich weiß nicht, was ich falsch gemacht habe. Jede Hilfe wäre sehr dankbar.

Hier ist der Kopierlink

P粉953231781
P粉953231781

Antworte allen(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',
  },
}
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!