国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

前端臨床手札——單元測試

kid143 / 1482人閱讀

摘要:感覺不能這樣下去就學寫一下單元測試,等他更新代碼我都跑一遍確認一下,這樣工作安心多了。具體執(zhí)行的測試用例實現(xiàn)代碼。測試工具斷言庫測試驅(qū)動開發(fā)及測試框架入門學習

最近博主工作是和另一枚后端合作,但是經(jīng)常發(fā)現(xiàn)他寫的接口出錯,苦逼連連。感覺不能這樣下去就學寫一下單元測試,等他更新代碼我都跑一遍確認一下,這樣工作安心多了。

經(jīng)過博主一番查找,貌似被推薦比較多的有mochachai,下面記錄簡單使用的筆記,其他不懂的google吧!:)

由于測試的項目是前端項目,測試的方式也是打開頁面。下面先說明一下目錄結(jié)構(gòu)

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"); //設(shè)置使用什么模式 tdd / bdd require("units/sample")(); //引入對應(yīng)測試用例 mocha.run(); //運行

具體用例,關(guān)于chai的使用請看 chai.assert api

###units/sample.js###

module.exports = function(){
    
    //chai.assert 是經(jīng)典的斷言風格
    var assert = require("../vendor/chai").assert;
        
    //定義一組測試用例。
    suite("Array", function(){
        
        //此方法會在這個suite所有測試用例執(zhí)行前執(zhí)行一次,只一次,這是跟setup的區(qū)別。
        suiteSetup(function(){
            console.log("suitSetup...");
        });
        
        //此方法會在每個測試用例執(zhí)行前都執(zhí)行一遍。
        setup(function(){
            console.log("setup...");
        });

        suite("indexOf()", function(){
            //具體執(zhí)行的測試用例實現(xiàn)代碼。
            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));
            });
        });

        //此方法會在每個測試用例執(zhí)行后都執(zhí)行一遍,與setup相反。
        teardown(function(){
            console.log("teardown...");
        });

        //此方法會在這個suite所有測試用例執(zhí)行后執(zhí)行一次,與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, "退出失敗");
        });

    });

}

目前會在整個項目的根目錄下創(chuàng)建test目錄進行存放測試相關(guān)的代碼,使用也很方便,打開test/index.html即可。

測試工具 mocha
斷言庫 chai
測試驅(qū)動開發(fā)(TDD)及測試框架Mocha.js入門學習

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/79428.html

相關(guān)文章

  • 前端臨床手札——單元測試

    摘要:感覺不能這樣下去就學寫一下單元測試,等他更新代碼我都跑一遍確認一下,這樣工作安心多了。具體執(zhí)行的測試用例實現(xiàn)代碼。測試工具斷言庫測試驅(qū)動開發(fā)及測試框架入門學習 最近博主工作是和另一枚后端合作,但是經(jīng)常發(fā)現(xiàn)他寫的接口出錯,苦逼連連。感覺不能這樣下去就學寫一下單元測試,等他更新代碼我都跑一遍確認一下,這樣工作安心多了。 經(jīng)過博主一番查找,貌似被推薦比較多的有mocha和chai,下面記錄簡...

    godlong_X 評論0 收藏0
  • 前端臨床手札——webpack構(gòu)建逐步解構(gòu)(上)

    摘要:前言由于博主最近又閑下來了,之前覺得的官方文檔比較難啃一直放到現(xiàn)在。文章會逐步分析每個處理的用意當然是博主自己的理解,不足之處歡迎指出溝通交流。后續(xù)將會補上構(gòu)建生產(chǎn)的配置分析,案例參考。前端臨床手札構(gòu)建逐步解構(gòu)下 前言 由于博主最近又閑下來了,之前覺得webpack的官方文檔比較難啃一直放到現(xiàn)在。細心閱讀多個webpack配置案例后覺得還是得自己寫個手腳架,當然這個案例是基于vue的,...

    lowett 評論0 收藏0
  • 前端臨床手札——webpack構(gòu)建逐步解構(gòu)(下)

    摘要:續(xù)前端臨床手札構(gòu)建逐步解構(gòu)上工作流程案例最近添加了雪碧圖功能,并把替換成的,詳細可以看分支構(gòu)建生產(chǎn)上一篇說完了本地測試和是如何工作,接下來分析構(gòu)建生產(chǎn)模式下配置如何配置和每個模塊干了什么。 續(xù) 前端臨床手札——webpack構(gòu)建逐步解構(gòu)(上) 工作流程 showImg(https://segmentfault.com/img/bVCXjo?w=793&h=410); 案例:multip...

    TerryCai 評論0 收藏0
  • 前端臨床手札——文件上傳

    摘要:文件上傳基本是學習前端路上必定遇到的例子,然而網(wǎng)上能找到的都是單單滿足上傳這步的案例。但前提是需要約定傳入值和返回類型。 文件上傳基本是學習前端路上必定遇到的例子,然而網(wǎng)上能找到的都是單單滿足上傳這步的案例。大多文章之所以只說上傳這步估計是簡單易入門,但是實際工作時就會發(fā)現(xiàn)上傳文件這個功能上是簡單的,邏輯上卻比較復雜。 先說一下需求和功能點: 需求:上傳文件到服務(wù)器 功能:上傳 單這么...

    SexySix 評論0 收藏0
  • 前端臨床手札——在微信播放視頻的那些事

    摘要:然而我真的太天真,微信瀏覽器怎樣會讓你這樣好過問題集中于自動播放視頻這塊,需求很簡單自動播放全屏不顯示工具條自動播放一步步來,自動播放這個問題在十分肯定默認是不支持的,必須基于用戶操作下才能加載視頻。至于在微信下和一個樣。 某天收到舊同事的信息說希望我?guī)褪肿鲆幌乱粋€簡單的H5,然后我看了看的確很簡單: 就是圖片滾動到最后自動播放視頻,播完顯示個按鈕交互。 然而我真的太天真,微信瀏覽器怎...

    _Zhao 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<