CocosCreator + nodeJs 课程3 mocha测试框架的使用

在开发中,养成编写测试用例的习惯是必不可少的,mocha就是一个运行在nodeJs 上的简单测试库。

1、安装mocha(二者选其一即可):
(1)全局安装:npm install --global mocha
(2)项目组安装:npm install --save-dev mocha

2、mocha中的 describe和 it
describe声明了一个测试集合,且可以嵌套管理。
it声明定义了一个具体的测试用例。


接下来我们以"二分法查找"为例学习mocha 的使用
定义一个BinarySearch类(该类只是进行二分查找,不再做过多解释):

class BinarySearch
{
//构造函数
    constructor(){
        this.needSortedArray = null
        this.needFindValue = null
    }

//二分法查找,返回-1表示传入值错误,1表示找到元素, 0表示未找到元素
    searchScope(fromIndex, toIndex)
    {
        if(fromIndex > toIndex)
            return  0

        var centerIndex = fromIndex + parseInt((toIndex - fromIndex) * 0.5)
        var centerValue = this.needSortedArray[centerIndex]
        if(centerValue === this.needFindValue)
            return 1

        if(centerValue < this.needFindValue)    //向右
        {
            return this.searchScope(centerIndex+1, toIndex)
        }

        return  this.searchScope(fromIndex, centerIndex-1)
    }

    search(sortedArray, findValue)
    {
        //数组不存在 或 未定义 或 非数组类型,返回-1
        if(!sortedArray || typeof sortedArray == 'undefined' || !(sortedArray instanceof Array))
            return -1

        //这两行代码相当于C++中的引用,并没有重新分配空间
        this.needSortedArray = sortedArray
        this.needFindValue = findValue

        return this.searchScope(0, sortedArray.length-1)
    }


}
module.exports = BinarySearch

创建一个BinarySearchTest.js文件
引入头文件assert,mocha一般与assert配合使用

var BinarySearch = require('./BinarySearch.js')
var assert = require('assert')

describe('测试二分查找算法', function() {
    describe('测试传递null数值', function() {
        it('必须返回-1', function() {
            var searchInstance = new BinarySearch()
            var searchResult = searchInstance.search(null, 0)
            assert.equal(-1, searchResult)
            console.log("searchResult : ", searchResult)
        })
    })

    describe('测试传递数组', function() {
        it('必须返回1', function() {
            var searchInstance = new BinarySearch()
            var searchResult = searchInstance.search([1,2,3,4,5,6], 6)
            assert.equal(1, searchResult)
   console.log("searchResult : ", searchResult)
        })
    })
})

我们可以分段运行上述describe,在控制台上可以清楚看到嵌套层次,并且可以单独执行。
在这里插入图片描述

好了,本文只是简单的介绍了mocha测试框架的使用方法,希望可以对学者有所帮助。学海无涯,我们需要探索的东西还有很多很多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值