成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

為你的JavaScript代碼寫測(cè)試

FleyX / 473人閱讀

摘要:下面會(huì)講解如何使用以及,來為我們的代碼編寫測(cè)試。我們不妨先選擇前者綜上所述,我們要使用組合來為我們的代碼寫測(cè)試。他們分別會(huì)在每個(gè)測(cè)試的之前和之后執(zhí)行一次。副本最后還有一個(gè)問題是如何結(jié)合來為我們的代碼編寫測(cè)試。

下面會(huì)講解如何使用 karama, jasmine 以及 webpack,來為我們的 ES6 代碼編寫測(cè)試。
(最后我寫了一個(gè)可用的例子,請(qǐng)查看 ES2015-Starter-Kit )

艱難的抉擇

首先,我們要寫測(cè)試,用什么寫?自己寫一個(gè)函數(shù),還是使用某個(gè)測(cè)試框架?

看起來,后者可觀一點(diǎn)。

然后,有哪些測(cè)試框架可以選擇?選哪個(gè)?

于是,我們 google 之,找到 stackoverflow 的一個(gè)問題 JavaScript unit test tools for TDD。

看了問題回答,很糾結(jié),太多了不知道選擇哪個(gè)!最后,我決定選擇 Karma, Jasmine 和 Mocha 這三者之一,根據(jù) Star 數(shù)量以及維護(hù)團(tuán)隊(duì)。

那么,Karma, Jasmine 以及 Mocha 這三者之間哪個(gè)好,有什么不同?

于是,我們不妨 google,找到了 What are the differences between mocha, chai, karma, jasmine, should.js, etc. testing frameworks? 這個(gè)問題。

從回答中我們可以知道:Karma 只是一個(gè) test runner,他負(fù)責(zé)提供 environment。而 JasmineMocha 是編寫測(cè)試腳本的框架。也就是說,我們可以選擇 Karma + Jasmine或者 Karma + Mocha。我們不妨先選擇前者~

綜上所述,我們要使用 Karma + Jasmine 組合來為我們的 JavaScript 代碼寫測(cè)試。

戰(zhàn)斗的號(hào)角

接下來,我們根據(jù)文檔(karma - Installation, karma - Configuration 和 Jasmine - introduction),很容易就能搞起來。

在這里我想說的是:當(dāng)編寫多個(gè)測(cè)試腳本的時(shí)候,你也許可以使用 beforeEachafterEach。他們分別會(huì)在每個(gè)測(cè)試(spec)的之前和之后執(zhí)行一次。

副本

最后還有一個(gè)問題是如何結(jié)合 Webpack 來為我們的ES6代碼編寫測(cè)試。

我不得不承認(rèn),這是一個(gè)很不錯(cuò)的問題。然而,我也通過google找到了答案。

詳細(xì)教程請(qǐng)看 VueJS 的 Testing 文檔。

戰(zhàn)斗的榮耀

你可以為你的倉庫弄一個(gè)亮晶晶的 travis ci status image:

詳細(xì)設(shè)置請(qǐng)查看 travis docs以及這篇教程 Testing JavaScript with Jasmine, Travis, and Karma。

最后,如果還是不懂的話,可以查看我寫的一個(gè)例子:ES2015-Starter-Kit

Resources

JavaScript unit test tools for TDD

What are the differences between mocha, chai, karma, jasmine, should.js, etc. testing frameworks?

vuejs - Testing

Testing JavaScript with Jasmine, Travis, and Karma

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/78698.html

相關(guān)文章

  • 利用guardian你的api應(yīng)用測(cè)試

    摘要:要寫出一個(gè)健壯的程序必須要有測(cè)試,測(cè)試可以保證上線的代碼功能符合預(yù)期,防止上線后出現(xiàn)莫須有的損失。根據(jù)這樣的想法,于是編寫了一個(gè)測(cè)試框架。的使用非常簡(jiǎn)單,你只需要把你的測(cè)試案例信息寫成固定的格式,包括請(qǐng)求信息,預(yù)期響應(yīng)信息,預(yù)期的數(shù)據(jù)信息。 要寫出一個(gè)健壯的程序必須要有測(cè)試,測(cè)試可以保證上線的代碼功能符合預(yù)期,防止上線后出現(xiàn)莫須有的損失。對(duì)于我們一口氣寫完的api,匆忙上線往往會(huì)導(dǎo)致很...

    JellyBool 評(píng)論0 收藏0
  • 你的第一個(gè)AngularJS應(yīng)用--教程二:基架、建立和測(cè)試的工具

    摘要:包括腳手架依賴管理準(zhǔn)備測(cè)試包括單元測(cè)試和端到端測(cè)試。我們用來開發(fā)的工具有。是一個(gè)工具集,包含個(gè)核心組件,,和腳手架工具。當(dāng)你正在做自己的一個(gè)項(xiàng)目時(shí),使用哪些模塊將取決于你自己。這個(gè)目錄當(dāng)然是測(cè)試文件。 介紹 有很多可用的工具可以幫助你開發(fā)AngularJS 應(yīng)用,那些非常復(fù)雜的框架不在我的討論范圍之中,這也是我開始這系列教程的原因。 在第一部分,我們掌握了AngularJS框架的基本...

    k00baa 評(píng)論0 收藏0
  • 前端為什么要學(xué)習(xí) Selenium

    摘要:你是對(duì)的,因?yàn)槟阈枰獙W(xué)習(xí)。如果你有這些疑問,那么請(qǐng)不要擔(dān)心,因?yàn)樵诒疚闹校覍⒔o出個(gè)令人信服的理由,來說明學(xué)習(xí)的必要性。用于家庭用途的操作系統(tǒng)足以支撐進(jìn)行測(cè)試。由于的使用量持續(xù)增長(zhǎng),使對(duì)測(cè)試員的需求也在成比例增長(zhǎng)。 翻譯:瘋狂的技術(shù)宅原文:https://www.edureka.co/blog/1... 本文首發(fā)微信公眾號(hào):前端先鋒歡迎關(guān)注,每天都給你推送新鮮的前端技術(shù)文章 如果...

    CodeSheep 評(píng)論0 收藏0
  • 現(xiàn)代 JavaScript 代碼

    摘要:為什么呢函數(shù)式編程能使代碼更具可預(yù)測(cè)性,確定性,更安全,一旦習(xí)慣這種方式,代碼會(huì)更容易維護(hù)。第二個(gè)建議創(chuàng)建局部函數(shù)即使是在已經(jīng)存在的函數(shù)中來說明代碼的功能,不需要使用注釋。注意,三個(gè)局部函數(shù)不修改它們的執(zhí)行上下文。 原文作者:Sébastien Castiel 原文鏈接:Writing modern JavaScript code 說點(diǎn)什么:這是一篇很樸素的文章,講的道理都懂,但實(shí)際...

    shery 評(píng)論0 收藏0
  • 快速構(gòu)建一個(gè)測(cè)試web項(xiàng)目

    摘要:用初始化一下,就會(huì)為你創(chuàng)建一個(gè),用來管理你的依賴包,命令配置。還是不清除的可以去我的上看一下,很水的一個(gè)項(xiàng)目,別噴我。 單純的運(yùn)行一段js邏輯的話就不需要構(gòu)建測(cè)試項(xiàng)目,直接寫個(gè)js,node命令行運(yùn)行一下就可以了,但是往往閱讀一段他人的源碼想要自己測(cè)試一下就沒辦法這樣子,因?yàn)閯e人會(huì)依賴模塊,會(huì)操作瀏覽器dom等等,所以自己寫一個(gè)測(cè)試小demo有時(shí)候就很有用處。 nodejs里面又沒有什...

    baukh789 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<