diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 568d32ed1d..6ab3e39361 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -409,8 +409,18 @@ export default defineNuxtModule({ }) } + const componentStubPath = await resolvePath(resolve(runtimeDir, 'component-stub')) + if (nuxt.options.test && nuxt.options.dev) { + // add component testing route so 404 won't be triggered + nuxt.hook('pages:extend', (routes) => { + routes.push({ + _sync: true, + path: '/__nuxt_component_test__/:pathMatch(.*)', + file: componentStubPath, + }) + }) + } if (nuxt.options.experimental.appManifest) { - const componentStubPath = await resolvePath(resolve(runtimeDir, 'component-stub')) // Add all redirect paths as valid routes to router; we will handle these in a client-side middleware // when the app manifest is enabled. nuxt.hook('pages:extend', (routes) => {