# JS集成测试

## 规则（Rules）

# JS集成测试规范

## 适用对象和范围

本规范适用于所有对JavaScript/Node.js系统进行集成测试的场景。

---

## 1. 测试顺序规范

**规则**：禁止在未完成单元测试的情况下进行集成测试。

**违反后果**：跳过单元测试直接集成测试导致问题定位困难。

---

## 2. 接口兼容性规范

**规则**：禁止忽略接口兼容性问题，所有模块间接口必须验证。

**违反后果**：接口不兼容导致系统集成后功能异常。

---

## 3. 测试结构规范

**规则**：使用 `describe('模块A-模块B', () => {})` 组织测试结构。

**违反后果**：测试结构混乱导致无法定位问题模块。

## 方法（Methods）

# JS集成测试方法

## 前置条件

- [ ] 单元测试已完成
- [ ] 模块间接口已定义

## 流程概览

分析模块依赖 → 设计测试场景 → 编写测试用例 → 执行测试 → 生成报告 → 回归测试

## 详细步骤

### 步骤1：分析模块依赖关系
分析模块间的依赖关系，确定模块调用链。

### 步骤2：设计集成测试场景
基于依赖关系设计接口调用测试、数据流测试和异常传播测试。

### 步骤3：编写集成测试用例
编写集成测试文件。

## 技巧（Tips）

# JS集成测试技巧

## 1. 使用mock模拟外部依赖

**适用场景**：测试依赖外部服务的模块间交互时。

**具体做法**：使用Jest的 `jest.mock()` 模拟外部依赖，只测试模块间的接口兼容性。

## 2. 测试数据隔离

**适用场景**：多个集成测试共享数据时。

**具体做法**：使用 `beforeEach` 初始化测试数据，`afterEach` 清理数据。

## 3. 常见问题速查

| 问题 | 原因 | 解决方案 |
|------|------|---------|
| 接口调用失败 | 数据格式不匹配 | 检查模块间接口文档 |
| 测试相互影响 | 共享可变数据 | 使用beforeEach重新初始化 |
| 依赖未安装 | package.json缺失 | 执行npm install |
