Files
vibe_coding/.cursor/skills/vue-testing/references/mock-patterns.md
2026-03-05 21:27:11 +08:00

638 B
Raw Blame History

Mock Patterns Quick Reference

API Mock

import { vi } from 'vitest'
import * as userApi from '@/api/user'

vi.spyOn(userApi, 'getUser').mockResolvedValue({ id: 1, name: 'demo' })

Router Mock

const push = vi.fn()
vi.mock('vue-router', () => ({
  useRouter: () => ({ push }),
  useRoute: () => ({ params: { id: '1' } })
}))

Pinia

  • 默认优先真实 storesetActivePinia(createPinia())
  • 仅在外部依赖复杂且非本次关注点时 mock action

禁止过度 Mock

  • 不要 mock Vue 内置行为
  • 不要 mock 被测模块本身
  • 避免因为 mock 过多导致测试与真实行为偏离