mocha3-9

简介: mocha3-9

背景

如果你听说过“测试驱动开发”(TDD:Test-Driven Development),单元测试就不陌生。

单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。

比如对函数abs(),我们可以编写出以下几个测试用例:

输入正数,比如1、1.2、0.99,期待返回值与输入相同;

输入负数,比如-1、-1.2、-0.99,期待返回值与输入相反;

输入0,期待返回0;

输入非数值类型,比如null、[]、{},期待抛出Error。

把上面的测试用例放到一个测试模块里,就是一个完整的单元测试。

如果单元测试通过,说明我们测试的这个函数能够正常工作。如果单元测试不通过,要么函数有bug,要么测试条件输入不正确,总之,需要修复使单元测试能够通过。

单元测试通过后有什么意义呢?如果我们对abs()函数代码做了修改,只需要再跑一遍单元测试,如果通过,说明我们的修改不会对abs()函数原有的行为造成影响,如果测试不通过,说明我们的修改与原有行为不一致,要么修改代码,要么修改测试。

这种以测试为驱动的开发模式最大的好处就是确保一个程序模块的行为符合我们设计的测试用例。在将来修改的时候,可以极大程度地保证该模块行为仍然是正确的。

mocha

mocha是JavaScript的一种单元测试框架,既可以在浏览器环境下运行,也可以在Node.js环境下运行。

使用mocha,我们就只需要专注于编写单元测试本身,然后,让mocha去自动运行所有的测试,并给出测试结果。

mocha的特点主要有:

既可以测试简单的JavaScript函数,又可以测试异步代码,因为异步是JavaScript的特性之一;

可以自动运行所有测试,也可以只运行特定的测试;

可以支持before、after、beforeEach和afterEach来编写初始化代码。

我们会详细讲解如何使用mocha编写自动化测试,以及如何测试异步代码。


相关文章
|
12月前
|
前端开发 JavaScript 测试技术
用Jest做前端单元测试
前端单元测试概念听着很高大上,应该也是从后端的单元测试借鉴过来的,但在工作中我其实从来没做过。前端各种开发调试工具本身比较优秀了,最简单的 console、debugger 完全可以测试,虽说是一次性的,但是本身前端变化就比较快。
88 0
|
运维 JavaScript 前端开发
单元测试(jest):理解、安装、使用
单元测试(jest):理解、安装、使用
139 0
|
JavaScript 数据可视化 测试技术
使用 Jest 进行 Vue 单元测试
使用 Jest 进行 Vue 单元测试
207 0
|
资源调度 JavaScript 前端开发
前端掌握单元测试-jest(上)
本文适合对单元测试感兴趣的小伙伴阅读
前端掌握单元测试-jest(上)
|
前端开发 测试技术
前端掌握单元测试-jest(下)
本文适合对单元测试感兴趣的小伙伴阅读
|
JavaScript 前端开发 测试技术
Jest单元测试
Jest是 Facebook 发布的一个开源的、基于 Jasmine 框架的 JavaScript单元测试工具。提供了包括内置的测试环境DOM API支持、断言库、Mock库等,还包含了Spapshot Testing、 Instant Feedback等特性
8892 0
Jest单元测试
|
测试技术
自动化测试Jest及其应用
jest简介及实践
1539 0
|
JavaScript 前端开发 测试技术
Mocha
Mocha(发音"摩卡")诞生于2011年,是现在最流行的JavaScript测试框架之一,在浏览器和Node环境都可以使用。 所谓"测试框架",就是运行测试的工具。
1343 0
|
JavaScript 前端开发 测试技术
React 16 Jest单元测试 之 Jest工具
转载地址 React 16 Jest单元测试 之 Jest工具 项目初始化【这里使用之前的项目,节省时间】 项目初始化地址 https://github.
1611 0
|
前端开发 测试技术 API
React 16 Jest单元测试 之 Mock Functions (Mocking Modules 和 Mock Implementations)
转载 React16 Jest单元测试 之 Mock Functions(Mocking Modules 和 Mock Implementations) 项目初始化【这里使用之前的项目,节省时间】 项目初始化地址 https://github.
1863 0