摘要:感覺不能這樣下去就學寫一下單元測試,等他更新代碼我都跑一遍確認一下,這樣工作安心多了。具體執行的測試用例實現代碼。測試工具斷言庫測試驅動開發及測試框架入門學習
最近博主工作是和另一枚后端合作,但是經常發現他寫的接口出錯,苦逼連連。感覺不能這樣下去就學寫一下單元測試,等他更新代碼我都跑一遍確認一下,這樣工作安心多了。
經過博主一番查找,貌似被推薦比較多的有mocha和chai,下面記錄簡單使用的筆記,其他不懂的google吧!:)
由于測試的項目是前端項目,測試的方式也是打開頁面。下面先說明一下目錄結構
test/ vendor/ chai-as-promised.js //后面介紹是怎么使用 chai.js mocha.css mocha.js units/ account.js sample.js ... index.html index.js
測試用的頁面
###index.html###Testing ###index.js### mocha.setup("tdd"); //設置使用什么模式 tdd / bdd require("units/sample")(); //引入對應測試用例 mocha.run(); //運行
具體用例,關于chai的使用請看 chai.assert api
###units/sample.js### module.exports = function(){ //chai.assert 是經典的斷言風格 var assert = require("../vendor/chai").assert; //定義一組測試用例。 suite("Array", function(){ //此方法會在這個suite所有測試用例執行前執行一次,只一次,這是跟setup的區別。 suiteSetup(function(){ console.log("suitSetup..."); }); //此方法會在每個測試用例執行前都執行一遍。 setup(function(){ console.log("setup..."); }); suite("indexOf()", function(){ //具體執行的測試用例實現代碼。 test("should return -1 when not present", function(){ assert.equal(-1, [1, 2, 3].indexOf(4)); }); }); suite("indexOf2()", function(){ test("should return not -1 when present", function(){ assert.equal(0, [1, 2, 3].indexOf(1)); }); }); //此方法會在每個測試用例執行后都執行一遍,與setup相反。 teardown(function(){ console.log("teardown..."); }); //此方法會在這個suite所有測試用例執行后執行一次,與suiteSetup相反。 suiteTeardown(function(){ console.log("suiteTeardown..."); }); }); }
斷言Promise
###units/account.js### var chai = require("../vendor/chai"), chaiAsPromised = require("../vendor/chai-as-promised"); chai.use(chaiAsPromised); module.exports = function(){ //這個是項目的model類 var account = require("models/account.model") suite("Account", function(){ //測試登錄 test("signin", function(){ var user = { username: "admin@ggg.com", password: "654321" } //當請求登錄接口沒返回用戶id時顯示`登錄失敗` return assert.eventually.deepProperty(account.signin(user), "attrs.id", "登錄失敗"); }); //測試登出 test("signout", function(){ //當請求登出接口后返回對象的code屬性不等于0時提示`退出失敗` return assert.eventually.propertyVal(account.signout(), "code", 0, "退出失敗"); }); }); }
目前會在整個項目的根目錄下創建test目錄進行存放測試相關的代碼,使用也很方便,打開test/index.html即可。
測試工具 mocha
斷言庫 chai
測試驅動開發(TDD)及測試框架Mocha.js入門學習
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/8728.html
摘要:感覺不能這樣下去就學寫一下單元測試,等他更新代碼我都跑一遍確認一下,這樣工作安心多了。具體執行的測試用例實現代碼。測試工具斷言庫測試驅動開發及測試框架入門學習 最近博主工作是和另一枚后端合作,但是經常發現他寫的接口出錯,苦逼連連。感覺不能這樣下去就學寫一下單元測試,等他更新代碼我都跑一遍確認一下,這樣工作安心多了。 經過博主一番查找,貌似被推薦比較多的有mocha和chai,下面記錄簡...
摘要:前言由于博主最近又閑下來了,之前覺得的官方文檔比較難啃一直放到現在。文章會逐步分析每個處理的用意當然是博主自己的理解,不足之處歡迎指出溝通交流。后續將會補上構建生產的配置分析,案例參考。前端臨床手札構建逐步解構下 前言 由于博主最近又閑下來了,之前覺得webpack的官方文檔比較難啃一直放到現在。細心閱讀多個webpack配置案例后覺得還是得自己寫個手腳架,當然這個案例是基于vue的,...
摘要:續前端臨床手札構建逐步解構上工作流程案例最近添加了雪碧圖功能,并把替換成的,詳細可以看分支構建生產上一篇說完了本地測試和是如何工作,接下來分析構建生產模式下配置如何配置和每個模塊干了什么。 續 前端臨床手札——webpack構建逐步解構(上) 工作流程 showImg(https://segmentfault.com/img/bVCXjo?w=793&h=410); 案例:multip...
摘要:文件上傳基本是學習前端路上必定遇到的例子,然而網上能找到的都是單單滿足上傳這步的案例。但前提是需要約定傳入值和返回類型。 文件上傳基本是學習前端路上必定遇到的例子,然而網上能找到的都是單單滿足上傳這步的案例。大多文章之所以只說上傳這步估計是簡單易入門,但是實際工作時就會發現上傳文件這個功能上是簡單的,邏輯上卻比較復雜。 先說一下需求和功能點: 需求:上傳文件到服務器 功能:上傳 單這么...
摘要:然而我真的太天真,微信瀏覽器怎樣會讓你這樣好過問題集中于自動播放視頻這塊,需求很簡單自動播放全屏不顯示工具條自動播放一步步來,自動播放這個問題在十分肯定默認是不支持的,必須基于用戶操作下才能加載視頻。至于在微信下和一個樣。 某天收到舊同事的信息說希望我幫手做一下一個簡單的H5,然后我看了看的確很簡單: 就是圖片滾動到最后自動播放視頻,播完顯示個按鈕交互。 然而我真的太天真,微信瀏覽器怎...
閱讀 1160·2023-04-25 17:28
閱讀 3550·2021-10-14 09:43
閱讀 3964·2021-10-09 10:02
閱讀 1947·2019-08-30 14:04
閱讀 3133·2019-08-30 13:09
閱讀 3273·2019-08-30 12:53
閱讀 2901·2019-08-29 17:11
閱讀 1826·2019-08-29 16:58