用途:为 Go + React Web 应用建立两层自动化测试策略,测试与代码同步编写,新建 handler 或交互组件时同步新建测试文件。
主要能力:第一层为后端单元与集成测试,覆盖 handler、查询与逻辑,依赖真实本地数据库而非 mock;每个 handler 至少覆盖 happy path,数据库相关代码用测试 helper 跑迁移并将每个测试包在回滚事务中,HTTP handler 通过真实请求测试服务器断言状态码与响应体,采用表驱动测试并为用例起描述性名称。第二层为前端组件测试,在模拟 DOM 中渲染 React 组件、模拟用户交互并断言可见输出,API 调用、路由上下文等外部依赖需 mock。测试文件与被测代码同目录(如 handler/todo_test.go、TodoList.test.tsx)。提交前必须运行类型检查,因为开发服务器与生产构建都不做类型检查。
使用方式:所有命令必须经 mise 调用,例如 mise x -- go test、mise x -- npx vitest,不得直接调用工具。Vitest + Vite 配置从 'vitest/config' 导入 defineConfig;不要使用 /// <reference types="vitest" />;Vitest 下不要加 @vitejs/plugin-react。类型检查命令为 bash -c 'cd "$(git rev-parse --show-toplevel)/frontend" && mise x -- npm run typecheck',其脚本运行 react-router typegen && tsc,不要直接跑裸 tsc。覆盖补齐:先列出缺少测试的 handler 或含逻辑但无测试的组件,优先为涉及数据库或逻辑复杂的部分补测。
适用场景:新项目起步阶段同步搭建两层测试,或对既有 Go + React 代码库补齐测试。
限制:纯展示型组件、仅作布局包装的页面、简单直通 handler(如返回 200 的健康检查)可跳过测试;具体测试运行器和库需按项目语言与框架当前推荐方案自行选择,资料未指定固定库。