前言:
首先很感谢社区,这次又有一本不错的 Node.js 的书,而且来自国内有名的 75team 的翻译。
正文:
本书《第三章 Node.js 基于 Mocha 的测试驱动开发和行为驱动开发》一上来还是讲 TDD 和 BDD,其实对于一般的读者,对测试本来就不是很在意,但是还是建议大家关注一下,比较测试也是相对比较重要的,特别对于比较大型的 Node.js 项目来讲。
TDD:测试驱动开发,敏捷开发技术。
- 提供代码质量
- REST API 必须用 TDD
BDD:行为驱动开发
- 基于 TDD
- 鼓励产品负责人和开发者合作
后面介绍了非常有名气的 Mocha
1、安装:
本书作者还是很严谨的,说明了安装一个全局的特定版本的,这样也不会出现新版本和本书内容不一致
npm install -g mocha@1.16.2
当然一般大部分人都会遇到权限问题,向下面一样,加上 sudo 就可以了:
sudo npm install –g mocha@1.16.2
注释:全局安装的好处,你可以在任何目录下执行 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 配置,包含接口地址,参数等,非常方便。
相关推荐
《Node.js项目实践:构建可扩展的Web应用》用专业的讲解方式,带领读者从“Hello World”示例开始,一步步将其构建成有实际用途的Node.js应用。《Node.js项目实践:构建可扩展的Web应用》涉及许多组件的使用,比如...
Node.js通过事件驱动、非阻塞I/O的运行机制,以及其灵活的模块化结构,为开发者提供了构建可扩展Web应用的基础。 在本部分内容中,提到了一个实例,即从一个简单的“Hello World”开始,逐步构建出具有实际应用价值...
《Node.js项目实践-构建可扩展的web应用》--全套源代码(2015.09.04) 1.Node.js学习必备; 2.MongoDB学习必备; 3.Mongoose学习必备; 4.Express框架学习必备
Node.js项目实践-构建可扩展的Web应用,nodejs已经非常广泛
Node.js以其非阻塞I/O模型和V8引擎的高性能而广受欢迎,特别适合构建高度可扩展的网络应用。Lumber利用Node.js的优势,为开发者提供了一个高效的开发环境。 在压缩包文件 "ForestAdmin-lumber-44d0fe3" 中,可能...
21. Geddy:类似Merb/Rails/Pylons/Django的可扩展Web应用框架,鼓励黑客精神,允许自定义和扩展。 22. GenJi:... 以上列出的框架只是Node.js生态中的一部分,每个都有其独特的优点和适用场景。选择适合的框架取...
基于Node.js的Web应用服务框架有很多,它们为开发者提供了更高级别的抽象,帮助快速构建稳定、可扩展的应用。标题中提到的“基于Node快速构建WEB应用服务的框架”可能是指Express.js、Koa.js、Sails.js等常见的Node....
1. Express.js:作为Node.js中最受欢迎的Web应用框架,Express简化了构建RESTful API和web应用的过程。它提供了快速开发HTTP服务器所需的路由、中间件和视图系统,使得开发者可以更专注于业务逻辑。 2. Socket.IO:...
Node.js是一款开源、跨平台的JavaScript运行环境,它允许开发者在服务器端执行JavaScript代码,极大地扩展了JavaScript的应用范围,不再局限于浏览器环境。 Node.js的核心特性包括事件驱动、非阻塞I/O模型,这些...
在本项目中,我们主要探讨的是使用Web前端框架MVC中的Backbone.js来构建一个记账应用程序,同时结合后端技术Node.js(版本:lpNote-1.0)。这是一个典型的前后端分离的开发模式,旨在提供高效且用户友好的交互体验。...
Node.js是一种开源、跨平台的JavaScript运行环境,它允许开发者在服务器端运行JavaScript代码,极大地扩展了JavaScript的应用领域。Node.js的核心特点在于其基于Google的Chrome V8 JavaScript引擎,这使得Node.js...
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,以其异步、非阻塞I/O和事件驱动的特性,使其在构建高效、可扩展的网络应用方面表现出色。在这个项目中,Node.js可能被用作后端服务器,处理来自微信小程序的...
在现代Web开发中,Node.js以其高效的非阻塞I/O模型和JavaScript的全栈能力,成为构建后端服务的热门选择。结合MySQL作为关系型数据库,可以搭建稳定、高性能的博客系统。本文将深入探讨如何利用Node.js和MySQL构建一...
Hapi 非常适合那些希望构建可扩展和高性能应用程序的开发者。 以上概述了多种流行的 Node.js Web 开发框架。每种框架都有其独特的特性和应用场景,开发者可以根据项目需求和个人偏好选择最适合自己的框架。
**Node.js 概述** Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,...通过深入了解 Doodoo.js 的特性、路由、中间件和数据库集成等方面,开发者可以更有效地利用 Node.js 构建高性能、可扩展的 Web 应用。
Node.js使用V8引擎,提供了高效且非阻塞I/O模型,使得它在处理大量并发请求时表现出色,特别适合构建实时交互的应用和服务。 **二、Foy概述** Foy是基于Node.js的轻量级通用任务运行器,它的设计目标是简洁、易用和...