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.