Skip to content

Commit 6a995d8

Browse files
committed
chore: merge test coverage
1 parent c841270 commit 6a995d8

21 files changed

+379
-63
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@ node_modules
1111
.DS_Store
1212
dist
1313
dist-ssr
14-
coverage
1514
*.local
1615

1716
/test-results/
1817
/playwright-report/
1918
/blob-report/
2019
/playwright/.cache/
20+
/coverage-reports
21+
/coverage
2122

2223
# Editor directories and files
2324
.vscode/*
Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
import type { CoverageReportOptions } from 'monocart-coverage-reports'
22

33
// https://github.com/cenfun/monocart-coverage-reports
4-
const coverageOptions: CoverageReportOptions = {
5-
6-
name: 'Playwright Coverage Report',
7-
4+
const coverageOptions = {
85
reports: [
96
'text',
107
'v8',
118
'v8-json',
129
'lcovonly',
10+
'raw',
1311
],
1412

1513
/**
@@ -38,11 +36,18 @@ const coverageOptions: CoverageReportOptions = {
3836
* @example node_modules/.pnpm/@[email protected]/node_modules/@vue/devtools-kit/dist/index.js
3937
*/
4038
sourceFilter: sourcePath => {
41-
if (sourcePath.includes('node_modules/')) return false
39+
const excludeList = [
40+
'node_modules',
41+
'src/services/api.ts',
42+
'src/setup-tests.ts',
43+
'src/utils/test',
44+
'.(spec|test).ts$',
45+
]
46+
for (const regexp of excludeList) {
47+
if (new RegExp(regexp).test(sourcePath)) return false
48+
}
4249
return true
4350
},
44-
45-
outputDir: './coverage/e2e',
46-
}
51+
} satisfies CoverageReportOptions
4752

4853
export default coverageOptions

config/mcr.e2e.config.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import type { CoverageReportOptions } from 'monocart-coverage-reports'
2+
import baseConfig from './mcr.base.config'
3+
4+
// https://github.com/cenfun/monocart-coverage-reports
5+
const coverageOptions: CoverageReportOptions = {
6+
...baseConfig,
7+
8+
name: 'E2E Test Coverage Report',
9+
10+
outputDir: './coverage/e2e',
11+
}
12+
13+
export default coverageOptions

config/mcr.unit.config.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import type { CoverageReportOptions } from 'monocart-coverage-reports'
2+
import baseConfig from './mcr.base.config'
3+
4+
// https://github.com/cenfun/monocart-coverage-reports
5+
const coverageOptions: CoverageReportOptions = {
6+
...baseConfig,
7+
8+
name: 'Unit Test Coverage Report',
9+
10+
outputDir: './coverage/unit',
11+
}
12+
13+
export default coverageOptions

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"serve": "vite preview --port 4173",
1515
"type-check": "vue-tsc --noEmit",
1616
"lint": "eslint --fix .",
17-
"test": "pnpm test:unit && pnpm test:e2e",
17+
"test": "pnpm test:unit && pnpm test:e2e && tsx scripts/merge-coverage.ts",
1818
"test:e2e": "cross-env NODE_ENV=testing pnpm build && cross-env CI=true playwright test",
1919
"test:e2e:prod": "cross-env E2E_BASE_URL='https://vue3-realworld-example-app-mutoe.vercel.app' playwright test",
2020
"test:e2e:ui": "playwright test --ui",
@@ -48,10 +48,12 @@
4848
"rollup-plugin-analyzer": "^4.0.0",
4949
"simple-git-hooks": "^2.13.1",
5050
"swagger-typescript-api": "^13.2.13",
51+
"tsx": "^4.20.6",
5152
"typescript": "~5.9.2",
5253
"vite": "^7.1.7",
5354
"vitest": "^3.2.4",
5455
"vitest-dom": "^0.1.1",
56+
"vitest-monocart-coverage": "^3.0.2",
5557
"vue-tsc": "^3.0.8"
5658
},
5759
"simple-git-hooks": {

playwright/extends.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type { Page } from '@playwright/test'
22
import { test as base } from '@playwright/test'
33
import MCR from 'monocart-coverage-reports'
44
import { ConduitPageObject } from 'page-objects/conduit.page-object'
5-
import coverageOptions from './mcr.config'
5+
import coverageOptions from '../config/mcr.e2e.config'
66

77
export const test = base.extend<{
88
conduit: ConduitPageObject

playwright/global.setup.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { FullConfig } from '@playwright/test'
22
import MCR from 'monocart-coverage-reports'
3-
import coverageOptions from './mcr.config'
3+
import coverageOptions from '../config/mcr.e2e.config'
44

55
async function globalSetup(_config: FullConfig) {
66
const mcr = MCR(coverageOptions)

playwright/global.teardown.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { FullConfig } from '@playwright/test'
22
import MCR from 'monocart-coverage-reports'
3-
import coverageOptions from './mcr.config'
3+
import coverageOptions from '../config/mcr.e2e.config'
44

55
async function globalTeardown(_config: FullConfig) {
66
const mcr = MCR(coverageOptions)

playwright/page-objects/edit-article.page-object.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { Page } from '@playwright/test'
2-
import { ConduitPageObject } from './conduit.page-object.ts'
2+
import { ConduitPageObject } from './conduit.page-object'
33

44
export class EditArticlePageObject extends ConduitPageObject {
55
constructor(public page: Page) {

playwright/page-objects/login.page-object.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { Page } from '@playwright/test'
2-
import { ConduitPageObject } from './conduit.page-object.ts'
2+
import { ConduitPageObject } from './conduit.page-object'
33

44
export class LoginPageObject extends ConduitPageObject {
55
constructor(public page: Page) {

0 commit comments

Comments
 (0)