Kaynağa Gözat

📝 docs(stories): add story for migrating test environment from mini-test-demo

- create story 006.001 for test environment migration
- define acceptance criteria for complete test environment setup
- outline detailed tasks for migrating test scripts, configs and mocks
- specify test dependencies and file migration清单
- include technical stack and project structure information for context
yourname 4 hafta önce
ebeveyn
işleme
59fe81932b
1 değiştirilmiş dosya ile 137 ekleme ve 0 silme
  1. 137 0
      docs/stories/006.001.story.md

+ 137 - 0
docs/stories/006.001.story.md

@@ -0,0 +1,137 @@
+# Story 006.001: 迁移 mini-test-demo 中现成的测试环境
+
+## Status
+Draft
+
+## Story
+**As a** 开发人员,
+**I want** 迁移 mini-test-demo 中现成的测试环境到 mini 项目,
+**so that** 小程序项目拥有完整的测试环境配置,能够运行基础示例测试,确保代码质量和稳定性
+
+## Acceptance Criteria
+1. 在 mini/package.json 中添加测试脚本
+2. 复制 mini-test-demo 中的 jest.config.js 配置文件
+3. 复制 mini-test-demo 中的 tests 目录结构和 setup.ts
+4. 复制 Taro 组件 mock 和测试依赖配置
+5. 复制基础示例测试文件
+6. 验证测试环境正常运行
+7. 不创建新的组件/页面测试(当前为 starter 项目)
+
+## Tasks / Subtasks
+- [ ] 在 mini/package.json 中添加测试脚本 (AC: 1)
+  - [ ] 从 mini-test-demo/mini/package.json 复制测试相关脚本
+  - [ ] 添加 "test": "jest" 脚本
+  - [ ] 添加 "test:watch": "jest --watch" 脚本
+  - [ ] 添加 "test:coverage": "jest --coverage" 脚本
+- [ ] 复制 mini-test-demo 中的 jest.config.js 配置文件 (AC: 2)
+  - [ ] 复制 mini-test-demo/mini/jest.config.js 到 mini/jest.config.js
+  - [ ] 验证配置文件路径映射正确
+  - [ ] 确保模块名称映射与 mini 项目结构匹配
+- [ ] 复制 mini-test-demo 中的 tests 目录结构和 setup.ts (AC: 3)
+  - [ ] 创建 mini/tests/ 目录
+  - [ ] 复制 mini-test-demo/mini/tests/setup.ts
+  - [ ] 复制 tests/__mocks__/ 目录结构
+  - [ ] 验证 setup.ts 中的配置正确
+- [ ] 复制 Taro 组件 mock 和测试依赖配置 (AC: 4)
+  - [ ] 复制 tests/__mocks__/taroMock.ts
+  - [ ] 复制 tests/__mocks__/styleMock.js
+  - [ ] 复制 tests/__mocks__/fileMock.js
+  - [ ] 从 mini-test-demo/mini/package.json 复制测试相关依赖
+- [ ] 复制基础示例测试文件 (AC: 5)
+  - [ ] 复制 tests/example.test.tsx
+  - [ ] 复制 tests/components/Button.test.tsx
+  - [ ] 复制 tests/components/AreaPicker.test.tsx
+  - [ ] 确保测试文件路径映射正确
+- [ ] 验证测试环境正常运行 (AC: 6)
+  - [ ] 运行 "pnpm test" 验证测试执行
+  - [ ] 运行 "pnpm test:coverage" 验证覆盖率报告
+  - [ ] 确保所有基础示例测试通过
+  - [ ] 验证 Taro 组件 mock 正常工作
+- [ ] 不创建新的组件/页面测试 (AC: 7)
+  - [ ] 仅迁移 mini-test-demo 中现有的测试文件
+  - [ ] 不创建针对 mini 项目特定组件的测试
+  - [ ] 保持 starter 项目的轻量级特性
+
+## Dev Notes
+
+### 技术栈信息 [Source: architecture/tech-stack.md]
+- **测试框架**: Jest + Testing Library
+- **运行时**: Node.js 20.19.2
+- **小程序框架**: Taro 4.1.4 + React 18
+- **类型系统**: TypeScript 5.4.5
+- **构建工具**: Webpack 5.91.0
+
+### 项目结构信息 [Source: architecture/source-tree.md]
+- **mini项目位置**: /mnt/code/155-138-template-6/mini/
+- **参考模板位置**: /mnt/code/155-138-template-6/mini-test-demo/mini/
+- **测试目录结构**:
+  - tests/ - 测试根目录
+  - tests/__mocks__/ - Mock 文件目录
+  - tests/components/ - 组件测试
+  - tests/pages/ - 页面测试
+  - tests/unit/ - 单元测试
+- **配置文件**:
+  - jest.config.js - Jest 配置
+  - tests/setup.ts - 测试环境设置
+
+### 测试策略信息 [Source: mini-test-demo/mini/jest.config.js]
+- **测试匹配模式**: tests/**/*.spec.{ts,tsx}, tests/**/*.test.{ts,tsx}
+- **测试环境**: jsdom
+- **模块映射**:
+  - @/ -> src/
+  - ~/ -> tests/
+  - @tarojs/taro -> tests/__mocks__/taroMock.ts
+- **覆盖率收集**: src/**/*.{ts,tsx}
+- **忽略路径**: /node_modules/, /dist/, /coverage/
+
+### Mock 配置信息 [Source: mini-test-demo/mini/tests/__mocks__/]
+- **taroMock.ts**: Taro 框架组件的完整 mock
+- **styleMock.js**: CSS/LESS/SCSS 样式文件的 mock
+- **fileMock.js**: 图片和静态资源文件的 mock
+
+### 需要复制的测试依赖 [Source: mini-test-demo/mini/package.json]
+- **测试框架**: jest, ts-jest, @types/jest
+- **测试工具**: @testing-library/react, @testing-library/jest-dom
+- **测试环境**: jest-environment-jsdom
+- **类型定义**: @types/testing-library__jest-dom
+
+### 测试文件迁移清单
+- **配置文件**:
+  - jest.config.js
+  - tests/setup.ts
+- **Mock 文件**:
+  - tests/__mocks__/taroMock.ts
+  - tests/__mocks__/styleMock.js
+  - tests/__mocks__/fileMock.js
+- **基础测试文件**:
+  - tests/example.test.tsx
+  - tests/components/Button.test.tsx
+  - tests/components/AreaPicker.test.tsx
+
+### Testing
+- **测试文件位置**: mini/tests/
+- **测试框架**: Jest + Testing Library
+- **覆盖率要求**: 基础示例测试通过率 100%
+- **测试标准**:
+  - 测试环境配置完整
+  - 所有基础示例测试通过
+  - Taro 组件 mock 正常工作
+  - 测试脚本可正常运行
+  - 不创建新的测试用例
+
+## Change Log
+| Date | Version | Description | Author |
+|------|---------|-------------|--------|
+| 2025-11-10 | 1.0 | 初始故事创建 | Bob (Scrum Master) |
+
+## Dev Agent Record
+
+### Agent Model Used
+
+### Debug Log References
+
+### Completion Notes List
+
+### File List
+
+## QA Results