【node】----mocha單元測試架構-----【格爾尼卡ぃ】

來源:互聯網
上載者:User

標籤:function   數組   簡單   相關   exports   code   rip   方法   install   

一、mocha簡介

 

單元測試是用來對一個模組、一個函數、或者一個類來進行正確性的檢測工作 特點:     既可以測試簡單的JavaScript函數,又可以測試非同步代碼,      可以自動運行所有測試,也可以只運行特定的測試  二、編寫模組代碼
 1 module.exports = { 2 add:function(a,b){ 3 return a+b; 4 }, 5  6 reduce:function(a,b){ 7 return a-b; 8 }, 9 10 ride:function(a,b){11 return a*b12 }13 }

三、編寫測試指令碼

 

 1 1、全域安裝mocha模組   cnpm install mocha -g 2  3 2、安裝chai模組  cnpm install chai --save-dev 4  5 3、describe塊稱為"測試套件"(test suite),表示一組相關的測試。它是一個函數,第一個參數是測試套件的名稱("加法函數的測試"),第二個參數是一個實際執行的函數。 6     it塊稱為"測試案例"(test case),表示一個單獨的測試,是測試的最小單位。它也是一個函數,第一個參數是測試案例的名稱("1 加 1 應該等於 2"),第二個參數是一個實際執行的函數。 7  8 4、在接下來的測試中我們用expect進行測試 9 10     const expect = require("chai").expect;11 12     describe("對計算機模組的測試",function(){13             //對模組的測試放在it裡面14             it("測試加法",function(){15                 16                 //相等不相等的判斷17                         //測試:斷定add方法1+2的值是318                         expect(calculator.add(1,2)).to.equal(3)19 20                         //測試:斷定add方法1+2的值不等於321                         expect(calculator.add(1,2)).to.not.equal(10)22 23 24                 //類型的判斷25                         //測試:斷定add方法的傳回值得類型是number26                         expect(calculator.add(1,2)).to.be.a("number");27 28                         //測試:斷定這個值得類型是一個對象29                         expect({name:"zhao"}).to.be.an("Object");30 31                         //測試:斷定這個值得類型是一個數組32                         expect([1,2,3]).to.be.an("array");33 34                 //長度的判斷35                         //測試:斷定str方法的傳回值的長度是336                         expect(calculator.str()).to.have.lengthOf(3);37 38 39                 //是否存在的判斷40                         //測試:斷定obj方法的傳回值得屬性中有name這個屬性41                         expect(calculator.obj()).to.have.property("name");42 43                         //測試:斷定這個值裡面有3這個值44                         expect([1,2,3,4]).to.include(3);45 46                         //測試:斷定這個值的內容值有o這個字元47                         expect("zhao").to.contain("o");48 49 50                 //布爾值的判斷51                         //測試:斷定這個值得布爾值的類型是true52                         expect("abc").to.be.ok;53 54                         //測試:斷定這個值得布爾值的類型不是true55                         expect("").to.be.not.ok;56             })57     })58 59 mocha還可以監聽指令碼的變化  mocha --watch60 61  62 基本上,expect斷言的寫法都是一樣的。頭部是expect方法,尾部是斷言方法,比如equal、a/an、ok、match等。兩者之間使用to或to.be串連。63 詳情請參考:http://www.ruanyifeng.com/blog/2015/12/a-mocha-tutorial-of-examples.html

 

 

 

【node】----mocha單元測試架構-----【格爾尼卡ぃ】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.