-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathvitest.config.ts
More file actions
76 lines (66 loc) · 3.05 KB
/
Copy pathvitest.config.ts
File metadata and controls
76 lines (66 loc) · 3.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/**
* Vitest 설정 파일
*
* 테스트 및 코드 커버리지 설정
*/
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
// 테스트 환경
environment: 'node',
// 테스트 파일 패턴
include: ['tests/**/*.test.ts'],
// 글로벌 설정 (describe, it, expect 등을 import 없이 사용)
globals: true,
// 타입 체크 (선택적)
typecheck: {
enabled: false,
},
// 커버리지 설정
coverage: {
// 커버리지 도구
provider: 'v8',
// 리포터 형식
reporter: ['text', 'text-summary', 'html', 'json'],
// 커버리지 대상 파일
include: ['src/**/*.ts'],
// 커버리지 제외 파일
exclude: [
'src/**/*.d.ts',
'src/core/types.ts', // 타입만 정의
'src/core/interfaces.ts', // 인터페이스만 정의
'src/services/**/types.ts', // 타입만 정의
'src/services/**/clientTypes.ts', // 타입만 정의
'src/api/emart24Handlers.ts', // 신규 서비스 핸들러는 별도 통합 검증
'src/api/gs25Handlers.ts', // 외부 BFF 연동 핸들러는 별도 통합 검증
'src/api/lottecinemaHandlers.ts', // 신규 서비스 핸들러는 별도 통합 검증
'src/api/sevenelevenHandlers.ts', // 외부 웹/앱 연동 핸들러는 별도 통합 검증
'src/services/emart24/client.ts', // 신규 서비스 클라이언트는 별도 실측 기반 검증
'src/services/gs25/client.ts', // 외부 BFF 클라이언트는 별도 실측 기반 검증
'src/services/lottecinema/client.ts', // 신규 서비스 클라이언트는 별도 실측 기반 검증
'src/services/seveneleven/client.ts', // 외부 웹/앱 클라이언트는 별도 실측 기반 검증
'src/services/seveneleven/inventory.ts', // 외부 재고 암호화 경로는 별도 실측 기반 검증
'src/services/emart24/tools/checkInventory.ts', // 신규 서비스 재고 도구는 별도 실측 기반 검증
'src/services/gs25/tools/checkInventory.ts', // 외부 BFF 재고 도구는 별도 통합 검증
'src/services/lottecinema/tools/getRemainingSeats.ts', // 신규 서비스 좌석 도구는 별도 실측 기반 검증
'src/services/seveneleven/tools/checkInventory.ts', // 외부 재고 암호화 경로는 별도 실측 기반 검증
'src/pages/openapi.ts', // 엔트리 재노출 파일
'src/pages/openapiSpec.ts', // 엔트리 재노출 파일
'src/bin.ts', // npm bin 진입점 파일
'src/cli.ts', // 실행 진입점 파일
'src/cli/**/*.ts', // CLI 오케스트레이션 분리 모듈
'src/cliInteractive.ts', // 인터랙티브 UI 오케스트레이션 파일
'src/cliRenderer.ts', // CLI 출력 렌더러 파일
],
// 커버리지 임계값 (100% 목표)
thresholds: {
lines: 100,
functions: 100,
branches: 100,
statements: 100,
},
// 리포트 디렉토리
reportsDirectory: './coverage',
},
},
});