Files

52 lines
1.5 KiB
TypeScript

import type { UserConfig as ViteUserConfig } from 'vite'
import type { TestUserConfig } from 'vitest/node'
import type { RunVitestConfig, TestFsStructure, VitestRunnerCLIOptions } from '../../test-utils'
import { runInlineTests, runVitest } from '../../test-utils'
import { instances, provider } from '../settings'
export { instances, provider } from '../settings'
export async function runInlineBrowserTests(
structure: TestFsStructure,
config?: RunVitestConfig,
options?: VitestRunnerCLIOptions,
) {
return runInlineTests(
structure,
{
watch: false,
reporters: 'none',
...config,
browser: {
enabled: true,
provider,
instances,
headless: true,
...config?.browser,
} as TestUserConfig['browser'],
},
options,
)
}
export async function runBrowserTests(
config?: Omit<TestUserConfig, 'browser'> & { browser?: Partial<TestUserConfig['browser']> },
include?: string[],
viteOverrides?: Partial<ViteUserConfig>,
runnerOptions?: VitestRunnerCLIOptions,
) {
const result = await runVitest({
watch: false,
reporters: 'none',
...config,
browser: { headless: true, ...config?.browser },
$viteConfig: viteOverrides,
}, include, runnerOptions)
return {
...result,
ctx: result.ctx!,
stderr: result.stderr.replace('Testing types with tsc and vue-tsc is an experimental feature.\nBreaking changes might not follow SemVer, please pin Vitest\'s version when using it.\n', ''),
}
}