久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

power assert_更智能、優(yōu)雅的全方位 assert 斷言庫(kù)

 昵稱65038308 2020-07-18

在寫(xiě)測(cè)試代碼時(shí),,以往我們需要翻閱文檔,,學(xué)習(xí)各種 API 才能明白如何操作斷言。而現(xiàn)在我們可以透過(guò) power-assert 的 assert 方法來(lái)減輕調(diào)試壓力。不僅如此,,它還提供更加直觀,,具體的運(yùn)行效果,幫助 DEBUG,。寫(xiě)測(cè)試代碼,,其實(shí)可以很容易。

例子 

power-assert 提供的 assert 方法,,已經(jīng)滿足日常的斷言需求,。

describe('Array', function () {
    beforeEach(function () {
        this.ary = [1, 2, 3];
    });
    describe('#indexOf()', function () {
        it('應(yīng)該返回 index 如果值存在的話', function () {
            var zero = 0, two = '2';
            assert(this.ary.indexOf(zero) === two);
        });
        it('應(yīng)該返回 -1 如果值不存在的話', function () {
            var minusOne = -1, two = 2;
            assert.ok(this.ary.indexOf(two) === minusOne, 'THIS IS AN ASSERTION MESSAGE');
        });
    });
});

describe('String.slice()', function () {
    it('提取字段的某個(gè)部分,并返回一個(gè)新的字段', function () {
        var str1 = "The morning is upon us.";
        var str2 = str1.slice(4, -2);
        assert(str1 === str2);
    });
});

結(jié)果如下:

從 power-assert 中,,你可以很直觀地知道到底哪個(gè)地方的值是和預(yù)想中的不同,,比如說(shuō)第一段測(cè)試代碼里面的 indexOf() 方法,你可以看出 power-assert 指出左側(cè)的 [number] this.ary.indexOf(zero) 返回了 -1,,而右側(cè)則的 [string] two 則返回了 "2",。 

更加到位的是:power-assert 對(duì)于每一個(gè)運(yùn)行的操作都有所指出,例如 this.ary 只有 [1,2,3],,zero 是 0(雖然代碼寫(xiě)得很清楚),。

如果有復(fù)雜的測(cè)試需求,你可以封裝它們?yōu)楠?dú)立的方法,,然后組合到一起,。

你可以把以上代碼,復(fù)制粘貼到官網(wǎng)提供的 power-assert playground,,從而看到 power-assert 的效果,。

快速入門(mén)

如果你在使用 assert 的話,你無(wú)需使用 require('power-assert'),,Power Assert 會(huì)自動(dòng)進(jìn)行轉(zhuǎn)換,。 Power Assert 有著和 assert 一模一樣的 API,也就是說(shuō),,你可以隨時(shí),,無(wú)痛轉(zhuǎn)換兩者。

安裝 

如果你的運(yùn)行環(huán)境是只有 Node.js 的話,,那麼你可以運(yùn)行以下代碼來(lái)安裝,。 

npm install --save-dev mocha power-assert intelli-espower-loader

 然后運(yùn)行 mocha 來(lái)測(cè)試你的代碼: 

npx mocha --require intelli-espower-loader

那麼你就可以看到你的 assert 現(xiàn)在提供了很多實(shí)用的提示信息了。 

配置方法

配置組合

環(huán)境技術(shù)棧
power-assert-node-seedNode.jspower-assert + intelli-espower-loader
power-assert-testem-seedBrowsers(testem 驅(qū)動(dòng))power-assert + gulp-espower + testem.
power-assert-karma-seedBrowsers(Karma 驅(qū)動(dòng))power-assert + espowerify + browserify + Karma.

攝圖網(wǎng)https://www./sites/73204.html VJ師網(wǎng)https://www./sites/73287.html

深入配置

它支持 babel, browserify, webpack, grunt, gulp 等前端現(xiàn)代化開(kāi)發(fā)工具,,并支持 TypeScript(帶類(lèi)型定義),,CoffeeScript。 如果你有試過(guò)其他的代碼測(cè)試工具,,例如chai, should.js, expect.js, 的話,,Power Assert 提供了代碼遷移工具。 

你可以透過(guò)以下的組合來(lái)配置你的工程的 power-assert:

power-assert + espower-loader 或 intelli-espower-loader : 簡(jiǎn)單、官方推薦的配置方法,,雖然這個(gè)方法只能在 Node.js 環(huán)境下運(yùn)行,。 
power-assert + Babel + babel-preset-power-assert: 如果你使用 Babel 6 以上的版本,那麼這會(huì)是唯一可行的配置方法,。 
power-assert + espower-coffee or espower-typescript: 一個(gè) Altjs 配搭 power-assert 的配置方法,,官方同樣推薦,但這個(gè)方法只能在 Node.js 環(huán)境下運(yùn)行,。 
power-assert + browserify + espowerify: 如果你使用 browserify 而不是 Babel 的話,,你可以使用這個(gè)方法。 
power-assert + webpack + webpack-espower-loader: 如果你使用的是 webpack 而不是 Babel 的話,,你可以使用這個(gè)配置方法,。 
power-assert + espower-cli or grunt-espower or gulp-espower : 這個(gè)方法會(huì)產(chǎn)生一段可以到處運(yùn)行的代碼。

如果你以上的組合都不想用的話,,那麼你可以使用 espower-cli 來(lái)產(chǎn)生一代可以讓 power-assert 運(yùn)行的測(cè)試代碼:

npm install -g espower-cli
espower test/some_test.js > build/test/some_test.js

后記 

其實(shí)早在 2014 年,,已經(jīng)有一位名叫 Takuto Wada 的日本程序員分享過(guò) 關(guān)于 power-asset 的 PPT。雖然版本有點(diǎn)過(guò)時(shí),,但是基本上大同小異,。 我最近嘗試一個(gè)新的開(kāi)發(fā)模式,Test Driven Development (TDD) ﹣ 測(cè)試驅(qū)動(dòng)開(kāi)發(fā),,也就是說(shuō)如何可以隨心所欲地重構(gòu)代碼而不讓它崩潰,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多