前言
作为一个单元测试坚定的践行者,深知单元测试为提高开发效率和代码维护带来的种种好处。
但不管是在团队内部推行单元测试,还是在社区解答问题的时候,我发现对于不少刚入坑的码农童鞋对单元测试的理解仅限于名字,更遑论正确、高效地使用了。
本次课程就将以最近比较火的游戏《Catch A Lover》(捉住隔壁老王)为例,以Node.js为开发语言,为还不太了解单元测试的童鞋们讲一讲单元测试的一些基础概念和使用方法。
课前准备
参与本课需要你以下概念有简单的理解
隔壁老王
不知道的童鞋请自行谷歌,另外作为例子的《Catch A Lover》的视频在这里。
Node.js相关基础知识
虽然语言在单元测试中不是重点,但是作为此次课程使用的语言,希望你对Node.js有基础的了解,包括:
1.Node.js是什么。官网在这里。
2.Javascipt语法,最好还懂一点ES6。
3.NPM是什么,有什么用。官网戳这里。
Git相关基础
知道版本控制工具Git是什么,可以做什么。
课程提纲
核心需求分析
老王等一众人物模型提炼(Model)
人物交互的处理(Service&Controller)
单元测试的基础概念
- 何为单元测试
- 为何单元测试
- BDD/TDD/DDD
- Stub/Mock/Spy
如何测试->编写老王等人的Model
如果有多个老王怎么办-论如何使用单元测试将代码变得容易拓展
如何测试->编写人物、场景交互的Service
如果游戏变成老王追绿帽侠怎么办-论需求大改和代码重构
关于笔者
老杨,毕业于南京大学,物理出身,做Node.js开发两年有余,三次创业均任技术负责人,其间受邀到复旦大学做过移动开发后端服务设计的分享,目前是一家A轮公司后端负责人。
PS:
笔者老杨将于本周日(4月30日)晚上20:00在饥人谷官网平台进行直播讲解《如何优雅地捉(当)隔壁老王--Node.js单元测试入门》,感兴趣的同学可以加QQ前端交流群:542597149,联系管理员墨凌获取免费听课的名额,加群暗号:单元测试-简书