Guillaume – (p)repair
Guillaume – (p)repair
NNuxt
Created by Guillaume – (p)repair on 2/11/2025 in #❓・help
Testing a Nuxt application with different profiles
Here is the full error message:
failed to load config from …/vitest.config.ts

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Startup Error ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Error: Context conflict
at checkConflict (file:///…/node_modules/@nuxt/test-utils/node_modules/unctx/dist/index.mjs:6:13)
at Object.set (file:///…/node_modules/@nuxt/test-utils/node_modules/unctx/dist/index.mjs:40:9)
at initNuxt (file:///…/node_modules/nuxt/dist/index.mjs:4202:11)
at Object.ready (file:///…/node_modules/nuxt/dist/index.mjs:4104:18)
at loadNuxt (file:///…/node_modules/nuxt/dist/index.mjs:4660:16)
at async loadNuxt (file:///…/node_modules/@nuxt/test-utils/node_modules/@nuxt/kit/dist/index.mjs:2642:19)
at async startNuxtAndGetViteConfig (file:///…/node_modules/@nuxt/test-utils/dist/config.mjs:40:16)
at async getVitestConfigFromNuxt (file:///…/node_modules/@nuxt/test-utils/dist/config.mjs:90:15)
at async file:///…/node_modules/@nuxt/test-utils/dist/config.mjs:204:7
at async loadConfigFromFile (file:///…/node_modules/vitest/node_modules/vite/dist/node/chunks/dep-Beq30MX9.js:53810:20)
failed to load config from …/vitest.config.ts

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Startup Error ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Error: Context conflict
at checkConflict (file:///…/node_modules/@nuxt/test-utils/node_modules/unctx/dist/index.mjs:6:13)
at Object.set (file:///…/node_modules/@nuxt/test-utils/node_modules/unctx/dist/index.mjs:40:9)
at initNuxt (file:///…/node_modules/nuxt/dist/index.mjs:4202:11)
at Object.ready (file:///…/node_modules/nuxt/dist/index.mjs:4104:18)
at loadNuxt (file:///…/node_modules/nuxt/dist/index.mjs:4660:16)
at async loadNuxt (file:///…/node_modules/@nuxt/test-utils/node_modules/@nuxt/kit/dist/index.mjs:2642:19)
at async startNuxtAndGetViteConfig (file:///…/node_modules/@nuxt/test-utils/dist/config.mjs:40:16)
at async getVitestConfigFromNuxt (file:///…/node_modules/@nuxt/test-utils/dist/config.mjs:90:15)
at async file:///…/node_modules/@nuxt/test-utils/dist/config.mjs:204:7
at async loadConfigFromFile (file:///…/node_modules/vitest/node_modules/vite/dist/node/chunks/dep-Beq30MX9.js:53810:20)
And if I comment the // extends: true, // Inherits from global config of my second workspace ('User Tests), it works. Well, it my tests for that workspace will not work because the environment is not setup to 'nuxt' etc… Is there a way within defineVitestConfig from @nuxt/test-utils/config to ensure 2 workspace will run in the same nuxt environment (not trying to create another which conflics), while keeping a custom setupFile for specific needs on certain tests?
8 replies
NNuxt
Created by Guillaume – (p)repair on 2/11/2025 in #❓・help
Testing a Nuxt application with different profiles
Thank you for you answers. I would like to design my test suite like so:
Project
|—— test
| |—— unit
| | |—— setup.ts
| | |—— role-admin.ts
| | |—— role-user.ts
| | |—— pages
| | | |—— customers.admin.test.ts
| | | |—— customers.user.test.ts
| | | | ...
| |—— e2e
| | |—— setup.ts
| | |—— pages
| | | |—— customers.test.ts
| | | | ...
|—— vitest.config.ts
Project
|—— test
| |—— unit
| | |—— setup.ts
| | |—— role-admin.ts
| | |—— role-user.ts
| | |—— pages
| | | |—— customers.admin.test.ts
| | | |—— customers.user.test.ts
| | | | ...
| |—— e2e
| | |—— setup.ts
| | |—— pages
| | | |—— customers.test.ts
| | | | ...
|—— vitest.config.ts
I tried to achieve it with Vitest worskpace feature, like so:
import { defineVitestConfig } from '@nuxt/test-utils/config'

export default defineVitestConfig({
test: {
globals: true,
environment: 'nuxt',
setupFiles: ['test/unit/setup.ts'],
environmentOptions: {
nuxt: {
overrides: {
plugins: ['~/test/unit/mocks/plugins/01.mockedAuth'],
},
},
},
workspace: [
{
extends: true, // Inherits from global config
test: {
name: 'Admin Tests',
include: ['test/unit/**/*.admin.test.{ts,js}'],
setupFiles: ['test/unit/role-admin.ts'],
},
},
{
extends: true, // Inherits from global config
test: {
name: 'User Tests',
include: ['test/unit/**/*.user.test.{ts,js}'],
setupFiles: ['test/unit/role-user.ts'],
},
},
],
},
})
import { defineVitestConfig } from '@nuxt/test-utils/config'

export default defineVitestConfig({
test: {
globals: true,
environment: 'nuxt',
setupFiles: ['test/unit/setup.ts'],
environmentOptions: {
nuxt: {
overrides: {
plugins: ['~/test/unit/mocks/plugins/01.mockedAuth'],
},
},
},
workspace: [
{
extends: true, // Inherits from global config
test: {
name: 'Admin Tests',
include: ['test/unit/**/*.admin.test.{ts,js}'],
setupFiles: ['test/unit/role-admin.ts'],
},
},
{
extends: true, // Inherits from global config
test: {
name: 'User Tests',
include: ['test/unit/**/*.user.test.{ts,js}'],
setupFiles: ['test/unit/role-user.ts'],
},
},
],
},
})
But with this configuration, I get a conflict error:
failed to load config from …/vitest.config.ts

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Startup Error ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Error: Context conflict
failed to load config from …/vitest.config.ts

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Startup Error ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Error: Context conflict
8 replies