单元测试 Unit Test
一个价格格式化函数经常被修改时,开发者需要不打开整页也能确认它对不同输入返回正确结果。
技术栈与工具约 10 分钟 · 从真实需求理解
1单元测试怎样只检查一个函数?
UNIT TEST · UNIT-007formatPrice()
不打开整页,只检查这个函数对一个输入返回什么。
没有网络、数据库或页面依赖
formatPrice(…)RETURN—函数返回的局部结果
- EXPECTED
- ¥199.00
- RECEIVED
- —
运行后比较当前单元的结果
Unit Test 把一个函数或组件从整页环境里单独拿出来,用可控输入检查它的局部结果。它不需要打开完整页面,也不应该把数据库、网络和其他模块的变化混进这次判断。
- 先准备隔离输入,例如给 formatPrice() 传入 199。
- 只调用目标函数,观察它返回的值。
- 把 Expected 和 Received 对照,失败时能直接定位到这个函数。
2单元测试不是整页验收,也不是多模块联调
整页验收关心用户从头到尾能不能完成任务,集成测试关心多个模块连接后是否协作;Unit Test 则故意缩小范围,只证明一个函数或组件在隔离输入下的局部行为。
- 看到一个函数、一个组件和固定输入,想到 Unit Test。
- 看到真实数据库、网络请求或完整页面流程,通常已经超出单元测试的隔离边界。
隔离不是把真实逻辑删掉,而是把不属于当前函数的依赖替换成可控输入,让失败原因更集中。
3一个单元测试由哪些部分组成?
EXPECTED = RECEIVEDPASS
一条单元测试的关键是三段:隔离输入、目标单元和断言结果。少了其中一段,就很难知道到底测了什么。
- ISOLATED INPUT 是不依赖外部环境的样本,保证测试从可控状态开始。
- TARGET UNIT 是被单独调用的函数或组件,不把整页流程当成测试对象。
- ASSERTION 是 Expected 与 Received 的比较,反馈只对应当前单元。
4怎样把单元测试交给 Agent?
请隔离 formatPrice(),不要启动完整页面或真实网络;用 199 作为固定输入,断言返回 ¥199.00,再补一个无效输入,失败反馈只说明这个函数的 Expected 和 Received 差异。
5不用背,看看你能不能判断
1 / 3
单元测试为什么要隔离外部依赖?
请选择一个最符合题意的答案
社区延伸
看别人真实遇到过什么
社区帖子还没有关联到这个词条。