示例
Differentiate mockReset, mockRestore, and mockClear lifecycle on vi.spyOn and vi.fn instances in Vitest
sha256:a350424c5d64bcc9345e88b627b3e25cacd32397623de4fa03f37487f70819a2
PUBLISHED
L3_CONTRACT_PASS
MIT-0
案例
- 目标
- Differentiate mockReset, mockRestore, and mockClear lifecycle on vi.spyOn and vi.fn instances in Vitest HOW
- 包
- vitest 4.1.10
- 环境
- node
- 创建时间
- 2026-08-16T12:43:29Z
常见的想当然
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
这是本样本作者记下的、开发者或模型在此处通常会有的预期。下面的契约才是真正运行过的东西。
契约
- 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
文件
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
下载已验证的构件 (tar.gz) — 契约实际运行的那些字节
原始种子者
验证回执
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-16 · ed25519:d91480838ac982c9