From abe441d694f66dc819e8a66542cc155144be7e6c Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Sun, 11 May 2025 23:39:03 +0800 Subject: [PATCH] fix: update vitest configuration and add setup file for renderer tests - Updated vitest.config.ts to handle optional chaining for plugins and alias. - Added setup.ts for mocking electron-log in renderer tests. - Adjusted test include and exclude patterns to refine test coverage. --- src/renderer/__tests__/setup.ts | 20 ++++++++++++++++++++ vitest.config.ts | 10 ++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 src/renderer/__tests__/setup.ts diff --git a/src/renderer/__tests__/setup.ts b/src/renderer/__tests__/setup.ts new file mode 100644 index 0000000000..f847a40826 --- /dev/null +++ b/src/renderer/__tests__/setup.ts @@ -0,0 +1,20 @@ +import { vi } from 'vitest' + +vi.mock('electron-log/renderer', () => { + return { + default: { + info: console.log, + error: console.error, + warn: console.warn, + debug: console.debug, + verbose: console.log, + silly: console.log, + log: console.log, + transports: { + console: { + level: 'info' + } + } + } + } +}) diff --git a/vitest.config.ts b/vitest.config.ts index abaeb82320..b7d23309c5 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -6,20 +6,22 @@ const rendererConfig = electronViteConfig.renderer export default defineConfig({ // 复用 renderer 插件和路径别名 - plugins: rendererConfig.plugins, + // @ts-ignore plugins 类型 + plugins: rendererConfig?.plugins, resolve: { - alias: rendererConfig.resolve.alias + // @ts-ignore alias 类型 + alias: rendererConfig?.resolve.alias }, test: { environment: 'jsdom', globals: true, - setupFiles: [], + setupFiles: ['./src/renderer/__tests__/setup.ts'], include: [ // 只测试渲染进程 'src/renderer/**/*.{test,spec}.{ts,tsx}', 'src/renderer/**/__tests__/**/*.{ts,tsx}' ], - exclude: ['**/node_modules/**', '**/dist/**', '**/out/**', '**/build/**'], + exclude: ['**/node_modules/**', '**/dist/**', '**/out/**', '**/build/**', '**/src/renderer/__tests__/setup.ts'], coverage: { provider: 'v8', reporter: ['text', 'json', 'html', 'lcov'],