---
title: 测试文档
order: 4
category: pro
---

# PisellCustomerBrief 组件测试用例文档

## 测试概览

本文档列出 PisellCustomerBrief 组件的测试用例点，基于 types.ts 与组件实现（委托 PisellEntityCard）。

---

## 一、基础渲染测试

| 测试项          | 测试步骤                       | 预期结果                                                                                  | 测试类型 |
|--------------|----------------------------|---------------------------------------------------------------------------------------|------|
| 根节点渲染        | 仅传 name                    | 存在 .pisell-entity-card-wrap 且内含 .pisell-customer-brief-root（通过 EntityCard 根 class 合并） | 自动化  |
| 主文案渲染        | 传入 name="客户A"              | 页面显示「客户A」                                                                             | 自动化  |
| 副标题渲染        | 传入 subtitle="+86 138"      | 页面显示「+86 138」                                                                         | 自动化  |
| 扩展信息渲染       | 传入 email、company           | 次级区域显示邮箱与公司                                                                           | 自动化  |
| 标签渲染         | 传入 tags=[{ text: 'VIP' }]  | 页面显示「VIP」                                                                             | 自动化  |
| 无头像默认占位      | 不传 avatar，showAvatar=true  | 存在媒体区（默认 Avatar 占位）                                                                   | 自动化  |
| className 合并 | 传入 className="custom"      | 根节点 class 包含 custom 与 pisell-customer-brief-root                                      | 自动化  |
| style 透传     | 传入 style={{ padding: 16 }} | 卡片应用对应样式                                                                              | 自动化  |

---

## 二、显隐与默认值测试

| 测试项                  | 测试步骤                             | 预期结果    | 测试类型 |
|----------------------|----------------------------------|---------|------|
| showAvatar 默认 true   | 不传 showAvatar                    | 显示媒体区   | 自动化  |
| showAvatar=false     | showAvatar=false                 | 不显示媒体区  | 自动化  |
| showSubtitle=false   | 传入 subtitle 且 showSubtitle=false | 不显示副标题  | 自动化  |
| showExtended=false   | 传入 email 且 showExtended=false    | 不显示扩展信息 | 自动化  |
| showActions 默认 false | 传入 actions，不传 showActions        | 不显示操作区  | 自动化  |
| showActions=true     | 传入 actions 且 showActions=true    | 显示操作区   | 自动化  |

---

## 三、数据映射测试

| 测试项               | 测试步骤                                             | 预期结果                                                      | 测试类型 |
|-------------------|--------------------------------------------------|-----------------------------------------------------------|------|
| extendedFields 顺序 | 传入 extendedFields=[{ text: 'A' }, { text: 'B' }] | 次级区域按 A、B 顺序展示                                            | 自动化  |
| 扩展信息顺序            | 传入 email、address、company、date、extendedFields     | 次级展示顺序为 email → address → company → date → extendedFields | 自动化  |

---

## 四、左滑删除与交互测试

| 测试项    | 测试步骤                                    | 预期结果                   | 测试类型 |
|--------|-----------------------------------------|------------------------|------|
| 透传左滑删除 | swipeToDelete=true、onDelete 为 jest.fn() | 存在滑动容器，点击删除触发 onDelete | 自动化  |
| 点击卡片   | 传入 onClick 为 jest.fn()，点击卡片             | onClick 被调用            | 自动化  |

---

## 五、密度与布局测试

| 测试项           | 测试步骤              | 预期结果        | 测试类型 |
|---------------|-------------------|-------------|------|
| density 默认 B2 | 不传 density        | 按 B2 规则展示次级 | 自动化  |
| layout 透传     | layout="vertical" | 文案区竖向排布     | 自动化  |
