mirror of
https://github.com/vitest-dev/vitest.git
synced 2025-12-08 18:26:03 +00:00
29 lines
1.1 KiB
TypeScript
29 lines
1.1 KiB
TypeScript
import { readFile } from 'node:fs/promises'
|
|
import type { UserConfig } from 'vitest'
|
|
import { runVitest } from '../../test-utils'
|
|
|
|
export const browser = process.env.BROWSER || (process.env.PROVIDER !== 'playwright' ? 'chromium' : 'chrome')
|
|
|
|
export async function runBrowserTests(config?: Omit<UserConfig, 'browser'> & { browser?: Partial<UserConfig['browser']> }, include?: string[]) {
|
|
const result = await runVitest({
|
|
watch: false,
|
|
reporters: 'none',
|
|
...config,
|
|
browser: {
|
|
headless: browser !== 'safari',
|
|
...config?.browser,
|
|
} as UserConfig['browser'],
|
|
}, include)
|
|
|
|
const browserResult = await readFile('./browser.json', 'utf-8')
|
|
const browserResultJson = JSON.parse(browserResult)
|
|
|
|
const getPassed = results => results.filter(result => result.status === 'passed' && !result.mesage)
|
|
const getFailed = results => results.filter(result => result.status === 'failed')
|
|
|
|
const passedTests = getPassed(browserResultJson.testResults)
|
|
const failedTests = getFailed(browserResultJson.testResults)
|
|
|
|
return { ...result, browserResultJson, passedTests, failedTests, browser }
|
|
}
|