# 测试说明

## 本地命令

```bash
moon check --deny-warn
moon test --deny-warn
moon fmt --check
moon info
moon run --target js cmd/main -- summary examples/sample.har.json
moon run --target js cmd/main -- validate examples/sample.har.json --json
moon run --target js cmd/main -- report examples/sample.har.json --json
moon run --target js cmd/main -- waterfall examples/sample.har.json
moon run --target js cmd/main -- budget examples/sample.har.json --strict
moon run --target js cmd/main -- csv examples/sample.har.json
```

CI 在 Linux、macOS 和 Windows 上执行严格检查、测试、格式校验、接口生成校验和示例运行，并在 Linux 上额外覆盖全部后端。

## 测试范围

当前 JS 目标共 93 个测试（核心库 89 个、CLI 4 个），覆盖：

- JSON 基础类型、嵌套对象、数组、转义字符、BMP Unicode、代理对及错误输入。
- HAR page、entry、request、response、postData、queryString 和 timings 映射。
- 缺失字段、状态码、URL、大小和耗时异常诊断。
- 域名、状态段、资源类型、字节数、慢请求和百分位统计。
- 筛选、性能预算、瀑布流、时间线、质量评分和档案对比。
- 文本、CSV、JSON 报告以及 URL、Header、Cookie 脱敏。
- README 所示公共 API 流程和仓库身份元数据。
- CLI 参数归一化、子命令解析、选项约束和输出分发。

CI 还会让六个 CLI 子命令逐一读取 `examples/sample.har.json`，因此外部文件读取和命令分发不是只靠单元测试模拟。

`examples/sample.har.json` 与内置 `sample_har()` 使用保留域名构造，不包含真实用户、认证信息或第三方抓包内容。
