♻️
前端 TDD(测试驱动开发)
  • README
  • 总-课程目标
  • 总-课程安排
  • Coding
    • 第一题:FizzBuzz 数字游戏
      • 什么是 FizzBuzz?
      • 任务 0:练功前的热身
      • FizzBuzz 项目剖析
      • 任务 1:TDD 初体验
      • 任务 2:先利其器
      • 任务 3:再撸一遍
      • FizzBuzz 项目总结
      • 附录 1:Jest 测试基础及要点
      • 附录 2:Testing Library 组件测试基础
    • 第二题:MarsRover 火星车
      • 任务 1:Tasking 任务分解
      • 火星车实战
      • 火星车 Tasking 任务分解
      • 任务 2:MarsRover 实战演练
      • MarsRover Coding 演示
      • 任务 3:MarsRover 练习
      • MarsRover 项目总结
    • 第三题:CommentBox 留言板
      • CommentBox 项目剖析
      • 任务 1:Cypress E2E 测试
      • 任务 2:测试驱动组件单元接口
      • 任务 3:组件级别的快速反馈
      • 任务 4:由外到内的前端 TDD
      • CommentBox 项目总结
    • 第四题:Bookshelf 魔法书架
      • Bookshelf 项目剖析
      • 任务 1:练习 API 契约测试
      • 任务 2:组件化与数据流管理
      • 任务 3:Redux 数据流测试
      • 任务 4:简化 Redux 项目结构
      • Bookshelf 项目总结
      • 附录 1:什么才是真正的 RESTful 架构?
      • 附录 2:【译】Redux 和 命令模式
      • 附录 3:【译】什么是 Flux 架构?(兼谈 DDD 和 CQRS)
    • 第五题:ShoppingCart 购物车
      • ShoppingCart 项目剖析
      • React 哲学:Thinking in React
      • 任务 1:任务分解 - 驱动组件树拆分
      • 任务 2:综合应用 - 驱动组件接口设计
      • 任务 3:综合应用 - 驱动数据流管理
      • 任务 4:综合应用 - 驱动组件样式开发
      • ShoppingCart 项目总结
由 GitBook 提供支持
在本页
  • 副本简介
  • 副本挑战
  • 时长限制
  • 副本奖励
  • BOSS 掉落
  1. Coding

第五题:ShoppingCart 购物车

副本简介

现在,终极大 boss 来了!你将要实现一个电商网站的 ShoppingCart 购物车,用于商品购买时的计算和结账,以及 B 端后台的商品管理(上架/下架),包含用户登陆。

副本挑战

  1. 掌握由外到内的前端测试驱动开发节奏;

  2. 熟练掌握多维度的测试覆盖及其测试重点

  3. 刻意练习前端组件拆分与单向数据流管理

  4. 至少练习 3 遍 CommentBox 组件开发

  5. 能在 1 小时内完成 CommentBox 题目

力求掌握:

  • 以终为始:每次编码明确需求目标,明晰用户行为验收路径;

  • 任务分解:实例化需求产出测试用例,框定需求范围减少浪费;

  • 自动化测试:让机器给予你最及时的反馈,提供功能回归保障;

  • 持续重构:调整程序代码改善软件的质量、性能,快速响应变化。

时长限制

4 小时

总时长

任务 1

任务 2

任务 3

任务 4

任务

任务分解 - 驱动组件树拆分

综合应用 - 驱动组件接口设计

综合应用 - 驱动数据流管理

综合应用 - 驱动组件样式开发

4h

1h

1h

1h

1h

副本奖励

  • 从需求出发 BDD,ATDD,SpecByExample, UserStory

  • 完整的 TDD 实例,完成页面 UI 拆分和组件开发,Visual Testing

  • 多种用户角色参与,全流程的「商品管理 + 购物车购买」测试路径

  • 建立在充分覆盖且运行快速的自动化测试基础上的持续集成/持续交付

BOSS 掉落

  • 私人收藏 React Hook 模板代码

上一页附录 3:【译】什么是 Flux 架构?(兼谈 DDD 和 CQRS)下一页ShoppingCart 项目剖析

最后更新于5年前

useHooks - Easy to understand React Hook recipes
常用且高质量的 Umi Hooks
学习更多好用的 React Hooks — 👍
React Hook Snippets