前言:
首先很感谢社区,这次又有一本不错的 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实战|组件|工具|模块库大全 搞定最复杂应用 全面提升代码质量与开发效率
Practical Node.js: Building Real-World Scalable Web Apps is a hands-on manual for developing production-ready web applications and services by leveraging the rich ecosystem of Node.js packages....
《Node.js项目实践-构建可扩展的web应用》--全套源代码(2015.09.04) 1.Node.js学习必备; 2.MongoDB学习必备; 3.Mongoose学习必备; 4.Express框架学习必备
Node.js项目实践-构建可扩展的Web应用,nodejs已经非常广泛
Node.js是一套用来编写高性能网络服务器的JavaScript工具包,Node.js入门经典采用直观、循序渐进的方法对如何使用Node.js来开发及具速度和可扩展性优势的服务器端应用程序进行了讲解。 《Node.js入门经典》分为6...
, 读者将学会使用Node.js 和MongoDB来建立更具可扩展性的高性能网站,并利用AngularJS 创新的MVC 方法构建更有效的网页和应用程序,以及把这三者结合在一起使用,从而提供卓越的下一代Web解决方案。, 《Node.js+...
Node.js 作为一种高效的服务器端 JavaScript 运行环境,已经成为现代 Web 开发不可或缺的一部分。随着 Node.js 的不断发展,其在...随着技术的不断进步,Node.js 将继续在构建快速、可扩展的网络应用中发挥重要作用。
介绍:Node.js的是建立在Chrome的JavaScript的运行时,可方便地构建快速,可扩展的网络应用程序的平台。Node.js使用事件驱动,非阻塞I/O模型,轻量、高效,可以完美地处理时时数据,运行在不同的设备上,Nodejs框架...
Node.js 在现代 Web 开发中具有重要的地位,主要有以下...灵活性与可扩展性:Node.js 支持模块化开发,允许开发者构建灵活、可扩展的应用程序。同时,Node.js 也可以轻松与各种数据库和服务集成,满足不同项目的需求。
在本课程中,您将学习基于最新的Node.js平台创建可扩展且丰富的RESTful应用程序。您将学习使用最新的NPM自定义RESTful开发过程,并了解将HTTP应用程序转换为支持RESTful的关键原则应用程序。 然后,您将使用自动化...
本培训课程将帮助您发现Node框架如何帮助您编写服务器端代码并构建轻量级,可扩展的网络应用程序。 该课程是一个开源课程,涵盖了从使用JavaScript和Node.js的基础知识到如何将其与Azure Service Bus,网站甚至...
Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google Chrome V8引擎进行了封装,它主要用于创建快速的、可扩展的网络应用。Node.js采用事件驱动和非阻塞I/O模型,使其变得轻微和高效,非常适合...
一个渐进式的Node.js框架,用于构建高效且可扩展的服务器端应用程序。 一个渐进式的Node.js框架,用于构建高效且可扩展的服务器端应用程序。 描述建立在eventemitter2包顶部的Nest的事件模块。 安装$ npm i --save @...
一个渐进式的Node.js框架,用于构建高效且可扩展的服务器端应用程序。 说明用于Nest的Angular通用模块。 使用Angular CLI进行安装:$ ng add @ nestjs / n一个渐进式的Node.js框架,用于构建高效且可扩展的服务器端...
Node.js是一个服务器端JavaScript平台,使用事件驱动的非阻塞I / O模型,允许用户构建快速且可扩展的实时运行的事务密集型应用程序。 它在软件开发领域中发挥着重要作用,并从Web浏览器中释放了JavaScript。 借助...
Node.js是一个JavaScript服务器,支持可伸缩的高性能Web应用。借助异步I/O,这个服务器可以同时做很多事情,能满足聊天、游戏和实时统计等应用的需求。并且既然是JavaScript,那你就可以全栈使用一种语言。 本书向...