《Node.js项目实践:构建可扩展的Web应用》
前言:
首先很感谢社区,这次又有一本不错的 Node.js 的书,而且来自国内有名的 75team 的翻译。
正文:
本书《第三章 Node.js 基于 Mocha 的测试驱动开发和行为驱动开发》一上来还是讲 TDD 和 BDD,其实对于一般的读者,对测试本来就不是很在意,但是还是建议大家关注一下,比较测试也是相对比较重要的,特别对于比较大型的 Node.js 项目来讲。
TDD:测试驱动开发,敏捷开发技术。
- 提供代码质量
- REST API 必须用 TDD
BDD:行为驱动开发
- 基于 TDD
- 鼓励产品负责人和开发者合作
后面介绍了非常有名气的 Mocha
1、安装:
本书作者还是很严谨的,说明了安装一个全局的特定版本的,这样也不会出现新版本和本书内容不一致
npm install -g [email protected]
当然一般大部分人都会遇到权限问题,向下面一样,加上 sudo 就可以了:
sudo npm install –g [email protected]
注释:全局安装的好处,你可以在任何目录下执行 mocha 命令
那 Mocha 有什么好处呢?
- 获取测试报告
- 支持异步模式
- 丰富的可配置项
安装成功后,可以在命令行输入:
mocha -h
如果安装成功后,应该会输出 Mocha 的帮助信息,当然你也可以输入:
mocha -version
这样可以获取当前安装的 Mocha 版本号。
当然前面也提到了它又丰富的可配置项,所以还有一大堆的命令等着你去发掘。
本书除了 Mocha,也提到了几个类似的工具:
- NodeUnit
- Jasmine
- Vows
后面也提到了用 Node.js 的原生模块 assert 来进行 TDD,这个现在在很多的代码库里面都很常见地可以看到它的存在。虽然它功能比较少,但是对于一般的测试都是足够了。
《第六章 在 Node.js 应用中使用 session 和 OAuth 进行用户认证和授权》 这个章节对于实战意义还是很大的,适合大部分的读者看看,里面也提到了非常流行的 Express.js ,使用它的中间件来进行权限管理。
- 基于 token 的用户认证
- 基于 session 的用户认证
里面也提到了几个非常有名的权限模块:
- Everyauth
可以在任何基于 Express.js 的应用中实现 OAuth,自带市面上大部分第三方的 OAuth 配置,包含接口地址,参数等,非常方便。