Browse Source

📝 docs(architecture): update testing structure documentation

- 修改测试位置描述,统一使用`tests/`目录按类型分层组织
- 完善测试结构示例,增加integration和unit测试目录
- 添加测试工具目录结构说明
- 增加测试策略文档的明确引用说明
yourname 4 tháng trước cách đây
mục cha
commit
c0ad2328ea
1 tập tin đã thay đổi với 66 bổ sung60 xóa
  1. 66 60
      docs/architecture.md

+ 66 - 60
docs/architecture.md

@@ -900,74 +900,80 @@ NODE_ENV=development
 
 ### 增强特定标准
 - **测试框架**: 使用Vitest + Testing Library + hono/testing + Playwright
-- **测试位置**: `__tests__` 文件夹与源码并列
+- **测试位置**: 统一在 `tests/` 目录中,按类型分层组织
 - **覆盖率目标**: 核心业务逻辑 > 80%
 - **测试类型**: 单元测试、集成测试、E2E测试
 - **测试策略**: 详见 [测试策略文档](./testing-strategy.md)
 
 ### 测试策略
 
+详细的测试策略、标准、执行流程和最佳实践请参考 [测试策略文档](./testing-strategy.md)。
+
 **实际测试结构**:
 ```text
 tests/
-└── e2e/                    # E2E测试 (Playwright)
-    ├── fixtures/           # 测试夹具数据
-    │   ├── test-users.json    # 测试用户数据
-    │   ├── roles.json         # 角色数据
-    │   └── test-data.ts       # TypeScript测试数据
-    ├── pages/              # 页面对象模型
-    │   └── admin/          # 管理后台页面对象
-    │       ├── login.page.ts      # 登录页面对象
-    │       ├── dashboard.page.ts  # 仪表板页面对象
-    │       └── user-management.page.ts  # 用户管理页面对象
-    ├── specs/              # 测试规范
-    │   └── admin/          # 管理后台E2E测试
-    │       ├── dashboard.spec.ts    # 仪表板测试
-    │       ├── login.spec.ts        # 登录测试
-    │       ├── settings.spec.ts     # 设置测试
-    │       └── users.spec.ts        # 用户管理测试
-    ├── utils/              # 测试工具
-    │   └── test-setup.ts   # 测试设置工具
-    ├── global-setup.ts     # 全局设置
-    ├── global-teardown.ts  # 全局清理
-    └── playwright.config.ts # Playwright配置
-```
-
-**前端测试位置**:
-```text
-src/client/
-├── __integration_tests__/      # 前端集成测试
-│   └── admin/                  # 管理后台集成测试
-│       ├── dashboard.test.tsx  # 仪表板集成测试
-│       ├── login.test.tsx      # 登录集成测试
-│       └── users.test.tsx      # 用户管理集成测试
-└── admin/
-    └── pages/
-        └── __tests__/          # 页面单元测试
-            ├── Users.test.tsx  # 用户页面单元测试
-            └── debug.test.tsx  # 调试页面单元测试
-```
-
-**后端测试位置**:
-```text
-src/server/
-├── api/
-│   ├── auth/                 # 认证API
-│   │   └── __tests__/        # 认证测试
-│   │       └── auth.integration.test.ts  # 认证集成测试
-│   └── users/                # 用户API
-│       └── __tests__/        # 用户测试
-│           └── users.integration.test.ts # 用户集成测试
-├── modules/
-│   └── users/                # 用户业务模块
-│       └── __tests__/        # 用户服务测试
-│           └── user.service.test.ts      # 用户服务单元测试
-└── utils/
-    ├── __tests__/            # 工具单元测试
-    │   ├── backup.test.ts    # 备份工具测试
-    │   └── restore.test.ts   # 恢复工具测试
-    └── __integration_tests__/ # 工具集成测试
-        └── backup.integration.test.ts    # 备份集成测试
+├── e2e/                    # E2E测试 (Playwright)
+│   ├── fixtures/           # 测试夹具数据
+│   │   ├── test-users.json    # 测试用户数据
+│   │   ├── roles.json         # 角色数据
+│   │   └── test-data.ts       # TypeScript测试数据
+│   ├── pages/              # 页面对象模型
+│   │   └── admin/          # 管理后台页面对象
+│   │       ├── login.page.ts      # 登录页面对象
+│   │       ├── dashboard.page.ts  # 仪表板页面对象
+│   │       └── user-management.page.ts  # 用户管理页面对象
+│   ├── specs/              # 测试规范
+│   │   └── admin/          # 管理后台E2E测试
+│   │       ├── dashboard.spec.ts    # 仪表板测试
+│   │       ├── login.spec.ts        # 登录测试
+│   │       ├── settings.spec.ts     # 设置测试
+│   │       └── users.spec.ts        # 用户管理测试
+│   ├── utils/              # 测试工具
+│   │   └── test-setup.ts   # 测试设置工具
+│   ├── global-setup.ts     # 全局设置
+│   ├── global-teardown.ts  # 全局清理
+│   └── playwright.config.ts # Playwright配置
+├── integration/            # 集成测试
+│   ├── client/             # 前端集成测试
+│   │   └── admin/          # 管理后台集成测试
+│   │       ├── dashboard.test.tsx  # 仪表板集成测试
+│   │       ├── login.test.tsx      # 登录集成测试
+│   │       └── users.test.tsx      # 用户管理集成测试
+│   └── server/             # 后端集成测试
+│       ├── auth.integration.test.ts     # 认证集成测试
+│       ├── backup.integration.test.ts   # 备份集成测试
+│       ├── files/                       # 文件服务集成测试
+│       │   ├── files.integration.test.ts
+│       │   └── minio.integration.test.ts
+│       └── users.integration.test.ts    # 用户集成测试
+├── unit/                   # 单元测试
+│   ├── basic.test.ts       # 基础单元测试
+│   ├── client/             # 前端单元测试
+│   │   └── pages/          # 页面单元测试
+│   │       ├── Users.test.tsx      # 用户页面单元测试
+│   │       └── debug.test.tsx      # 调试页面单元测试
+│   └── server/             # 后端单元测试
+│       ├── modules/        # 业务模块单元测试
+│       │   └── files/      # 文件服务单元测试
+│       │       ├── file.service.test.ts
+│       │       └── minio.service.test.ts
+│       ├── modules/user.service.test.ts # 用户服务单元测试
+│       └── utils/          # 工具单元测试
+│           ├── backup.test.ts    # 备份工具测试
+│           └── restore.test.ts   # 恢复工具测试
+└── utils/                  # 测试工具
+    ├── client/             # 前端测试工具
+    │   ├── test-query.tsx  # 测试查询工具
+    │   ├── test-render.tsx # 测试渲染工具
+    │   └── test-router.tsx # 测试路由工具
+    ├── server/             # 后端测试工具
+    │   ├── integration-test-db.ts    # 集成测试数据库
+    │   ├── integration-test-utils.ts # 集成测试工具
+    │   ├── service-mocks.ts          # 服务模拟
+    │   ├── service-stubs.ts          # 服务桩
+    │   ├── test-auth.ts              # 测试认证
+    │   └── test-db.ts                # 测试数据库
+    └── setup.ts            # 通用测试设置
 ```
 
 **测试框架配置**:
@@ -975,7 +981,7 @@ src/server/
 - **集成测试**: Vitest + 自定义测试工具
 - **E2E测试**: Playwright
 - **测试覆盖率**: 核心业务逻辑 > 80%
-- **测试位置**: `__tests__` 文件夹与源码并列
+- **测试位置**: 统一在 `tests/` 目录中,按类型分层组织
 
 ### 关键集成规则
 - **现有API兼容性**: 确保测试不破坏现有API契约