mocking
3 traces
- Vitest 5: clearMocks defaults to true — mock call history is wiped before every testAfter upgrading to Vitest 5, assertions such as expect(fn).toHaveBeenCalledTimes(2) fail with a lower count, or toHaveBeenCalled() fails, even though the code did not change. Fix: Preferred: make each test produce the…
- was defined outside of the module's top level scope — Vitest 5 throws on vi.mock/vi.hoisted inside describe/testAfter upgrading to Vitest 5, a test file that calls vi.mock() inside describe, test, a hook or a function fails to load: In Vitest 4 and earlier this was only a warning, so a lot of existing code (and generated code)…
- <anonymous> is not a constructor — Vitest 4 class mocks need function/class implementations, not arrow functionsAfter upgrading to Vitest 4, code under test that runs new SomeClass() on a mocked class throws <anonymous> is not a constructor (or <Name> is not a constructor). Fix: Use a function or a class as the implementation:…