Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 30afa13

Browse files
chore: add testing and coverage configuration with Vitest integration
1 parent 23ebeea commit 30afa13

File tree

9 files changed

+68
-6
lines changed

9 files changed

+68
-6
lines changed

‎package.json‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,18 @@
1414
"build": "turbo build",
1515
"dev": "turbo dev",
1616
"dev:apps": "turbo dev --filter=\"./apps/*\"",
17-
"lint": "turbo lint"
17+
"lint": "turbo lint",
18+
"test": "turbo test",
19+
"test:ui": "turbo test -- --ui",
20+
"coverage": "turbo test -- --coverage"
1821
},
1922
"devDependencies": {
2023
"@ant-design-vue/eslint-config": "*",
2124
"@ant-design-vue/prettier-config": "*",
2225
"@ant-design-vue/typescript-config": "*",
2326
"@types/node": "^20.0.0",
2427
"eslint": "^8.56.0",
28+
"vitest": "^3.2.4",
2529
"prettier": "^3.3.3",
2630
"esbuild": "^0.25.8",
2731
"turbo": "^2.4.4",
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import { UserConfig,UserConfigFnObject } from 'vite'
1+
import { UserConfigFnObject,ViteUserConfig } from 'vitest/config.js'
22

33
export type GetUserConfig = (
44
dirname: string,
55
overwriteLib?: boolean,
6-
) => UserConfig | UserConfigFnObject
6+
) => ViteUserConfig | UserConfigFnObject
77

88
export declare function extendsConfig(
9-
base: UserConfig | UserConfigFnObject,
10-
overwrite: UserConfig | UserConfigFnObject,
9+
base: ViteUserConfig | UserConfigFnObject,
10+
overwrite: ViteUserConfig | UserConfigFnObject,
1111
): UserConfigFnObject

‎packages-config/vite-config/package.json‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,14 @@
2121
"@types/node": "^20.0.0",
2222
"@vitejs/plugin-vue": "^5.1.3",
2323
"vite": "^5.3.5",
24+
"vitest": "^3.2.4",
2425
"vite-plugin-dts": "^4.5.4"
2526
},
2627
"peerDependencies": {
2728
"@vitejs/plugin-vue": "*",
2829
"typescript": "*",
2930
"vite": "5",
31+
"vitest": "3",
3032
"vite-plugin-dts": "*"
3133
}
3234
}

‎packages/ui/package.json‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
"dev": "vite build --watch --mode development",
2323
"lint": "eslint . --fix",
2424
"tsc": "tsc --noEmit",
25-
"tsg": "tsc --declaration --declarationMap --emitDeclarationOnly --noEmit false --outDir dist/types"
25+
"tsg": "tsc --declaration --declarationMap --emitDeclarationOnly --noEmit false --outDir dist/types",
26+
"test": "vitest"
2627
},
2728
"type": "module",
2829
"exports": {
@@ -83,11 +84,17 @@
8384
"@ant-design-vue/tailwind-config": "*",
8485
"@tailwindcss/vite": "^4.1.3",
8586
"@vitejs/plugin-vue": "^5.1.3",
87+
"@vitest/coverage-v8": "^3.2.4",
88+
"@vitest/ui": "^3.2.4",
89+
"@vue/test-utils": "^2.4.6",
90+
"vitest-fetch-mock": "^0.4.5",
91+
"jsdom": "^26.0.0",
8692
"@vueuse/core": "^12.0.0",
8793
"@types/node": "^20.19.7",
8894
"prettier-plugin-tailwindcss": "^0.6.11",
8995
"tailwindcss": "^4.0.14",
9096
"typescript": "^5.8.2",
97+
"vitest": "^3.2.4",
9198
"vite": "^5.3.5",
9299
"vite-plugin-dts": "^4.5.4",
93100
"vite-svg-loader": "^5.1.0",
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2+
3+
exports[`Button > should render correctly 1`] = `
4+
"<button class="ant-btn ant-btn-solid ant-btn-md">
5+
<!--v-if-->
6+
<!--v-if--><span></span>
7+
</button>"
8+
`;
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
2+
import { Button } from '@ant-design-vue/ui'
3+
import { mount } from '@vue/test-utils'
4+
5+
describe('Button', () => {
6+
it('should render correctly', () => {
7+
const wrapper = mount(Button)
8+
expect(wrapper.html()).toMatchSnapshot()
9+
})
10+
})

‎packages/ui/test/setup.ts‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { vi } from 'vitest'
2+
import { config } from '@vue/test-utils'
3+
import createFetchMock from 'vitest-fetch-mock'
4+
5+
const fetchMock = createFetchMock(vi)
6+
fetchMock.enableMocks()
7+
8+
config.global.plugins = []

‎packages/ui/vite.config.ts‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { resolve } from 'node:path'
44
import tailwindcss from '@tailwindcss/vite'
55
import { readdirSync, statSync } from 'node:fs'
66
import dts from 'vite-plugin-dts'
7+
import pkg from './package.json'
78

89
// 获取所有组件目录
910
function getComponents() {
@@ -34,6 +35,21 @@ export default extendsConfig(vue(__dirname, true), {
3435
},
3536
},
3637
plugins: [tailwindcss()],
38+
test: {
39+
alias: {
40+
[pkg.name]: resolve(__dirname, './src'),
41+
},
42+
globals: true,
43+
environment: 'jsdom',
44+
testTimeout: 5000,
45+
coverage: {
46+
include: ['src/**/*.{ts,vue}'],
47+
provider: 'v8',
48+
allowExternal: true,
49+
reporter: ['text', 'json', 'html'],
50+
},
51+
setupFiles: [resolve(__dirname, './test/setup.ts')],
52+
},
3753
build: {
3854
cssCodeSplit: true,
3955
lib: {

‎vitest.config.ts‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { defineConfig } from 'vitest/config'
2+
3+
export default defineConfig({
4+
test: {
5+
projects: ['packages/*'],
6+
},
7+
})

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /