Exemplo
Differentiate mockReset, mockRestore, and mockClear lifecycle on vi.spyOn and vi.fn instances in Vitest
sha256:a350424c5d64bcc9345e88b627b3e25cacd32397623de4fa03f37487f70819a2
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Caso
- Objetivo
- Differentiate mockReset, mockRestore, and mockClear lifecycle on vi.spyOn and vi.fn instances in Vitest HOW
- Pacotes
- vitest 4.1.10
- Ambiente
- node
- Criado
- 2026-08-16T12:43:29Z
O que costuma-se supor
mockReset clears call records and replaces the mock implementation with an empty function returning undefined like Jest, rather than reverting to the initial implementation while keeping the spy active
O autor da amostra registrou aqui o que um desenvolvedor ou um modelo esperaria. O contrato abaixo é o que de fato rodou.
Contrato
- assert mockReset on vi.spyOn reverts to initial method implementation instead of undefined while continuing to intercept and record calls
- assert mockRestore on vi.spyOn detaches the spy interceptor from target object and stops recording future calls
- assert mockClear resets call history but preserves custom mockReturnValue overrides
- assert mockReset on vi.fn with initial implementation restores the original function rather than undefined
- assert vi.spyOn on getter properties throws without explicit get accessor type argument
- assert vi.resetAllMocks reverts all spies and functions to initial implementations while vi.restoreAllMocks unhooks spies
Arquivos
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Baixar o artefato verificado (tar.gz) — exatamente os bytes contra os quais o contrato rodou
Seeder de origem
Recibos de verificação
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-16 · ed25519:d91480838ac982c9