美文网首页
Mocha学习笔记

Mocha学习笔记

作者: 灬小白 | 来源:发表于2018-06-16 23:01 被阅读0次

安装

使用npm全局安装:

(c)npm install -g mocha

或者在项目中当作依赖包进行安装:

(c)npm install --save-dev mocha

在文件夹中创建test文件夹,创建文件test.js

const assert = require('assert')
describe('Array', function () {
    describe('#indexOf()', function () {
        it ('当值不存在时,应返回-1', function () {
            assert.equal(-1, [1, 2, 3].indexOf(4))
        })
    })
})

创建package.json,添加运行脚本:

{
    "scripts":{
        "test": "mocha"
    }
}

现在整个项目的目录结构是这样的

mocha-test/
|
+- test/ <-- 存放所有test
|
|  |+- test.js <-- 测试文件
|
+- package.json <-- 项目配置文件
|
+- node_modules/ <-- npm安装的依赖包

运行

运行脚本,会执行test文件下所有的文件

npm run test
> mocha

  Array
    #indexOf()
      √ 当值不存在时,应返回-1

  1 passing (14ms)

test.js文件中的代码就是测试脚本。测试脚本一般至少要有一个或者多个describe函数,而一个describe函数应有一个或多个it函数。

describe函数,第一个参数会被输出在控制台中,作为一个Test Suite(用例集、测试套件)的描述,而且这个描述可以根据自己的需求来进行嵌套输出的。

it函数,第一个参数是用来输出TestCase(测试用例)的描述,测试输出结果前面有对勾表示测试通过,第二个参数是一个函数,用来编写测试内容,用断言模块来判断测试结果的正确性。

断言

在上面例子中我们用到了assert,这个是Node自身的assert模块(断言),其实mocha支持各种断言库,例如:
should.js
chai
expect.js
better-assert
unexpected

同步代码

在同步代码测试的时候,测试用例一个执行完就继续执行下一个用例
在根目录下创建一个add.js的文件,代码如下

module.exports = function (x, y) {
    return x + y
}

测试文件test.js代码如下

const assert = require('assert')
const add = require('../add')
describe('加法测试', function () {
    it('1加1应等于2', function () {
        assert.strictEqual(add(1, 1), 2)
    })
    it('2加2应等于4', function () {
        assert.strictEqual(add(2, 2), 4)
    })
    it('3加3应等于6', function () {
        assert.strictEqual(add(3, 3), 6)
    })
})

测试结果如下

  加法测试
    √ 1加1应等于2
    √ 2加2应等于4
    √ 3加3应等于6


  3 passing (9ms)

箭头函数

不推荐在Mocha中使用箭头函数,由于this作用域的问题,箭头函数中,this无法正常获取Mocha上下文,这样,在运行下面的代码时,我们会发现第一个测试通过,第二测试会报错提示:this.timeout is not a function

describe('function函数测试', function () {
    it('测试1', function () {
        this.timeout(1000)
        assert.ok(true)
    })
})
describe('箭头函数测试', () => {
    it('测试2', () => {
        this.timeout(1000)
        assert.ok(true)
    })
})

待续...

相关文章

  • Mocha学习笔记

    安装 使用npm全局安装: 或者在项目中当作依赖包进行安装: 在文件夹中创建test文件夹,创建文件test.js...

  • mocha学习笔记

    Mocha 诞生于2011年,是现在最流行的JavaScript测试框架之一,在浏览器和Node环境都可以使用。所...

  • mocha学习笔记1

    Mocha是什么 Mocha是一个Javascript测试框架。只要是Javascript能运行的地方,都可以运行...

  • mocha学习笔记2

    测试持续时间 在测试报告里面,测试时间会被展示出来;如果时间过长,也会被标记出来。 使用this.slow(tim...

  • 2018-06-15 mocha 测试安装

    昨天的mocha安装任务没有完成,今天继续 1.学习Mocha,中文文档自己找。 2.测试框架 Mocha 实例教...

  • 学习测试框架Mocha

    学习测试框架Mocha Mocha 是javascript测试框架之一,可以在浏览器和Node环境下使用,除了Mo...

  • Mocha测试基本使用

    学习mocha初始是根据阮一峰老师的测试框架 Mocha 实例教程进行学习的,感兴趣的同学可以参考该教程进行系统学...

  • mocha入门学习

    作为一个项目而言,单元测试应该是必备的一部分,也是最容易被大家忽略的一部分,这篇文章就介绍一下mocha这个测试框...

  • mocha简单学习

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

  • 初识前端测试4 -- karma 和 mocha

    mocha 关于mocha的基础使用可以参考之前预习的时候写的mocha 基础使用。这里总结了一些基础的mocha...

网友评论

      本文标题:Mocha学习笔记

      本文链接:https://www.haomeiwen.com/subject/gtkieftx.html