unit-test-module-mocking-with-actual-exports
Keep real exports and override only selected functions in Vitest.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Keep real exports and override only selected functions in Vitest.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Create or update custom React hooks with clear API design, TypeScript-friendly patterns, and test-first workflow. Use when the user asks to make/build/create/modify a custom hook, refactor hook logic, or add/update hook tests.
Write and maintain unit tests with Vitest. Test titles MUST be English `it('should ...')` strings. Use when adding or updating unit tests, improving test coverage, or handling unavoidable coverage gaps with documented ignore comments.
Basic Vitest module mocking pattern with vi.mock.
Mocking patterns for Vitest unit tests. Read this only when mocking is required.
| name | unit-test-module-mocking-with-actual-exports |
| description | Keep real exports and override only selected functions in Vitest. |
Keep the real module and override only the exports you need.
import { vi } from 'vitest'
vi.mock('./api', async (importOriginal) => {
const actual = await importOriginal<typeof import('./api')>()
return {
...actual,
fetchUser: vi.fn().mockResolvedValue({ id: 1, name: 'test' }),
}
})
Use importOriginal only inside the factory (it is not valid to call it elsewhere). Spread actual first, then override specific named exports or default.