enhancementgood first issuevitest-environment
Repository metrics
- Stars
- (440 stars)
- PR merge metrics
- (Avg merge 5d 23h) (28 merged PRs in 30d)
Description
Currently, it's possible to mock a Nuxt import:
mockNuxtImport('useStorage', () => {
return vi.fn()
})
When we want to access this mock in our test, to run an assertion or to change the implementation, we can use vi.hoisted:
const { useStorageMock } = vi.hoisted(() => {
return {
useStorageMock: vi.fn()
}
})
mockNuxtImport('useStorage', () => {
return useStorageMock
})
// now we can change the implementation of useStorageMock between tests
This is a lot of code just to define and expose a single mock. Would it be possible to make mocking Nuxt imports easier by returning the mocks directly in mockNuxtImport?
I propose something like this:
const useStorageMock = mockNuxtImport('useStorage', () => {
return vi.fn()
})
// now we can change the implementation of useStorageMock between tests
I'm down to have a look at this if this is possible.