Ver código fonte

test(frontend): 建立前端测试基础设施 (Vitest + jsdom)

wangkangyjy 1 semana atrás
pai
commit
d4779d9ab6

Diferenças do arquivo suprimidas por serem muito extensas
+ 932 - 6
frontend/package-lock.json


+ 10 - 6
frontend/package.json

@@ -8,18 +8,22 @@
     "build": "vite build",
     "preview": "vite preview",
     "verify:theme": "node scripts/verify-medtech-theme.mjs",
-    "verify:scoring": "node scripts/verify-scoring-contract.mjs"
+    "verify:scoring": "node scripts/verify-scoring-contract.mjs",
+    "test": "vitest run"
   },
   "dependencies": {
-    "vue": "^3.4.21",
-    "vue-router": "^4.3.0",
-    "pinia": "^2.1.7",
+    "@element-plus/icons-vue": "^2.3.1",
     "axios": "^1.6.7",
     "element-plus": "^2.6.1",
-    "@element-plus/icons-vue": "^2.3.1"
+    "pinia": "^2.1.7",
+    "vue": "^3.4.21",
+    "vue-router": "^4.3.0"
   },
   "devDependencies": {
     "@vitejs/plugin-vue": "^5.0.4",
-    "vite": "^5.2.0"
+    "@vue/test-utils": "^2.4.11",
+    "jsdom": "^27.0.1",
+    "vite": "^5.2.0",
+    "vitest": "^3.2.7"
   }
 }

+ 2 - 0
frontend/src/__tests__/setup.js

@@ -0,0 +1,2 @@
+// Vitest setup file for jsdom environment
+// Add global mocks or polyfills here as needed

+ 14 - 0
frontend/src/__tests__/test-baseline.test.js

@@ -0,0 +1,14 @@
+import { describe, expect, it } from 'vitest'
+
+describe('frontend test baseline', () => {
+  it('runs in jsdom', () => {
+    expect(document.createElement('div')).toBeInstanceOf(HTMLElement)
+  })
+
+  it('supports basic DOM operations', () => {
+    const el = document.createElement('span')
+    el.textContent = 'okr'
+    document.body.appendChild(el)
+    expect(document.body.textContent).toContain('okr')
+  })
+})

+ 4 - 0
frontend/vite.config.js

@@ -15,5 +15,9 @@ export default defineConfig({
   build: {
     outDir: 'dist',
     assetsDir: 'assets'
+  },
+  test: {
+    environment: 'jsdom',
+    setupFiles: ['./src/__tests__/setup.js']
   }
 })

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff