zoukankan      html  css  js  c++  java
  • Node6-1单元测试mocha

    1.初步简单的测试

    在src新建一个math.js的文件.src/math.js

    module.exports ={
        add:(...args)=>{
           return  args.reduce((prev,curr) => {
            return prev+curr
        })
        },
        mul:(...args)=>{
          return  args.reduce((prev,curr) => {
            return prev*curr
        })
        }
    }

    在与src同级新建一个文件夹test,test里面新建一个simple.js文件  test/simple.js

    const {add,mul}=require('../src/math.js')
    if(add(2,3)===5){
        console.log('add(2,3)===5,ok');
    }else{
        console.log('add(2,3)!==5,error');
    }

    运行结果

    2.使用assert(断言)来判断是否相等 [ assert.equal() ]  test/simple.js

    const assert =require('assert')
    const {add,mul}=require('../src/math.js')
    // if(add(2,3)===5){
    //     console.log('add(2,3)===5,ok');  
    // }else{
    //     console.log('add(2,3)!==5,error');  
    // }
    assert.equal(add(2,3),5)

     node的断言虽然又一定的语义,,可是这还不够好,目前有几个比较流行断言库Chai Assertion Library

    1.使用chai Assertion Library

    Step1:安装

    cnpm install chai

    Step2:修改test/simple.js 有三种方式可以判断是否相等,只需要使用其中一种就可以了

    const {should,expect,assert} = require('chai')
    const {add,mul}=require('../src/math.js')
    //使用should来判断
    should();
    add(2,3).should.equal(5)
    //使用expect判断
    expect(add(2,3)).to.be.equal(5)
    //使用assert来判断
    assert.equal(add(2,3),5)

    2.mocha,是一个功能丰富的测试框架,mocha在语义上更加清晰,而且执行结果连正确都会显示,而且还有其他功能,例如只执行就用it.only,跳过就用it.skip,跳过不执行

    Step1:安装

    npm install --save-dev mocha

    Step2:在test里面新建mocha.js

    const {should,expect,assert} = require('chai')
    const {add,mul}=require('../src/math.js')
    describe('#math',()=>{
        describe('add',()=>{
            it('should return 5 when 2+3',()=>{
                expect(add(2,3),5)
            })
            it('should return -1 when 2-3',()=>{
                expect(add(2,-3),-1)
            })
        })
    
        describe('mul',()=>{
            it('should return 6 when 2*3',()=>{
                expect(mul(2,3),6)
            })
        })
    })

    Step3:在package.json里面添加

      "scripts": {
        "test":"mocha test/mocha.js",
      },

    Step4:运行npm test

  • 相关阅读:
    ror小记
    uuid before_create
    好东西jquery ui slider
    ror
    rails3 reventl
    ad
    wiki guide tutorial
    忽然意识到我需要端正态度
    20101022网站更新部署
    ECFA
  • 原文地址:https://www.cnblogs.com/chorkiu/p/11457292.html
Copyright © 2011-2022 走看看