MCPcopy
hub / github.com/vitest-dev/vitest / createTestServer

Function createTestServer

test/cli/test/public-mocker.test.ts:49–106  ·  view source on GitHub ↗
(config: UserConfig)

Source from the content-addressed store, hash-verified

47})
48
49async function createTestServer(config: UserConfig) {
50 const server = await createServer({
51 ...config,
52 cacheDir: '.cache',
53 plugins: [
54 mockerPlugin({
55 globalThisAccessor: 'Symbol.for("vitest.mocker")',
56 hoistMocks: {
57 utilsObjectNames: ['mocker'],
58 hoistedModule: 'virtual:mocker',
59 hoistableMockMethodNames: ['customMock'],
60 dynamicImportMockMethodNames: ['customMock'],
61 hoistedMethodNames: ['customHoisted'],
62 },
63 }),
64 {
65 name: 'vi:resolver',
66 enforce: 'pre',
67 resolveId(id) {
68 if (id === 'virtual:mocker') {
69 return id
70 }
71 },
72 load(id) {
73 if (id === 'virtual:mocker') {
74 return `
75import { registerModuleMocker } from '@vitest/mocker/register'
76import { ModuleMockerServerInterceptor } from '@vitest/mocker/browser'
77
78const _mocker = registerModuleMocker(
79 () => new ModuleMockerServerInterceptor()
80)
81
82export const mocker = {
83 customMock: _mocker.mock,
84 customHoisted: _mocker.hoisted,
85}
86 `
87 }
88 },
89 },
90 ],
91 })
92 await server.listen()
93 onTestFinished(async () => {
94 await server.close()
95 })
96 const page = await browser.newPage()
97 onTestFinished(async () => {
98 await page.close()
99 })
100 await page.goto(server.resolvedUrls!.local[0])
101
102 return {
103 server,
104 page,
105 }
106}

Callers 1

Calls 2

mockerPluginFunction · 0.90
closeMethod · 0.45

Tested by

no test coverage detected