AGENTS.md 3.0 KB

tests

分层测试目录,包含单元测试、集成测试和端到端测试。

WHERE TO LOOK

Task Location Notes
单元测试 unit/ Vue组件和游戏逻辑测试
集成测试 integration/ API接口测试
端到端测试 e2e/ Playwright浏览器测试
Java测试 ../zxyj-backend/src/test/ Spring Boot后端测试

STRUCTURE

tests/
├── unit/             # 单元测试
│   └── games/        # 小游戏逻辑测试
├── integration/      # 集成测试
│   └── *.spec.js     # API接口测试
├── e2e/              # 端到端测试
│   └── *.spec.js     # Playwright浏览器测试
└── AGENTS.md         # 本文件

CONVENTIONS

  • 命名约定: *.spec.js 用于JavaScript测试
  • 测试结构: 使用 describe/it 语法
  • 断言库: Jest风格断言
  • API测试: 直接调用后端接口,验证响应
  • E2E测试: 使用Playwright进行浏览器自动化

TEST TYPES

单元测试 (unit/)

  • 目标: Vue组件、游戏逻辑、工具函数
  • 工具: Jest, @vue/test-utils
  • 示例: unit/games/1a2b.spec.js - 游戏逻辑测试
  • 特点: 隔离测试,不依赖外部服务

集成测试 (integration/)

  • 目标: API接口、服务间调用
  • 工具: fetch/axios, 真实HTTP请求
  • 示例: integration/mini-games-api.spec.js - 游戏API测试
  • 特点: 测试接口契约,依赖运行中的后端

端到端测试 (e2e/)

  • 目标: 完整用户流程,浏览器交互
  • 工具: Playwright
  • 示例: e2e/mini-games-playwright.spec.js - 游戏流程测试
  • 特点: 模拟真实用户操作,覆盖全链路

Java后端测试

  • 位置: zxyj-backend/src/test/java/
  • 工具: JUnit 5, Mockito, Spring Boot Test
  • 示例: GuideFamilyTaskControllerTest.java - 控制器测试
  • 特点: Spring上下文,MockMvc测试

ANTI-PATTERNS

  • DO NOT 写无法运行的测试(缺少依赖/配置)
  • DO NOT 在集成测试中使用硬编码token
  • DO NOT E2E测试依赖特定环境数据
  • NEVER 跳过测试就直接部署
  • NEVER 写没有断言的测试

CURRENT STATE

✅ 已配置

  • 后端: Maven + Spring Boot Test (1个测试类)
  • 分层测试目录结构
  • Playwright E2E测试框架

⚠️ 需要完善

  • 前端测试配置和依赖缺失
  • 测试运行脚本不完整
  • 测试覆盖率较低
  • 缺少测试数据准备和清理

❌ 缺失

  • Jest/Playwright配置文件
  • npm测试脚本
  • 数据库测试夹具
  • 持续集成测试流水线

COMMANDS

# 后端测试
cd zxyj-backend
mvn test

# Playwright E2E测试 (需要先安装依赖)
npx playwright test tests/e2e/mini-games-playwright.spec.js

# 目前前端测试无法直接运行,需要先配置

NOTES

  • 测试文件存在但基础设施不完整
  • 部分测试为草稿/占位性质
  • 集成测试需要运行中的后端服务(8080端口)
  • 建议优先完善关键业务链路测试