摘要:下面會(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。而 Jasmine 和 Mocha 是編寫測(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í)候,你也許可以使用 beforeEach 和 afterEach。他們分別會(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
ResourcesJavaScript 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
摘要:要寫出一個(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)致很...
摘要:包括腳手架依賴管理準(zhǔn)備測(cè)試包括單元測(cè)試和端到端測(cè)試。我們用來開發(fā)的工具有。是一個(gè)工具集,包含個(gè)核心組件,,和腳手架工具。當(dāng)你正在做自己的一個(gè)項(xiàng)目時(shí),使用哪些模塊將取決于你自己。這個(gè)目錄當(dāng)然是測(cè)試文件。 介紹 有很多可用的工具可以幫助你開發(fā)AngularJS 應(yīng)用,那些非常復(fù)雜的框架不在我的討論范圍之中,這也是我開始這系列教程的原因。 在第一部分,我們掌握了AngularJS框架的基本...
摘要:你是對(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ù)文章 如果...
摘要:為什么呢函數(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í)際...
摘要:用初始化一下,就會(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里面又沒有什...
閱讀 1083·2021-11-24 09:39
閱讀 3626·2021-11-22 13:54
閱讀 2587·2021-10-11 10:59
閱讀 836·2021-09-02 15:40
閱讀 1098·2019-08-30 15:55
閱讀 1074·2019-08-30 13:57
閱讀 2370·2019-08-30 13:17
閱讀 3054·2019-08-29 18:32