前端測試-Karma

Karma簡介

Karma是一個簡單的工具俯抖,允許你在多個真實(shí)的瀏覽器上執(zhí)行javascript代碼瓦胎。

但Karma產(chǎn)品的主要目標(biāo)是在測試驅(qū)動開發(fā)(TDD)的項(xiàng)目中,結(jié)合前端測試框架(jasmine、Mocha等)芹缔,使測試更加簡單、快速和輕松示罗。

Karma主要做了兩點(diǎn)

  • Karma可以啟動多個瀏覽器芝硬,加載并執(zhí)行指定路徑下的javascript代碼
  • Karma能夠自動監(jiān)控指定路徑下javascript代碼的變化。一旦變化绍绘,自動加載執(zhí)行。

如果前面兩點(diǎn)的Javascript代碼是測試代碼厂镇,對Karma的目標(biāo)就更容易理解了左刽。

Git start

安裝

Karma需要運(yùn)行在node環(huán)境下,并在NPM包管理下

安裝node環(huán)境

Mac或者Linux欠痴,推薦使用NVM喇辽。windows下,從官方網(wǎng)址下載
注意:Karma目前工作再node0.10,0.12.x,4.x和5.x環(huán)境下

安裝Karma和插件

在本地項(xiàng)目目錄下執(zhí)行下面命令茵臭,安裝Karma以及測試需要的插件(karma-jasmine 結(jié)合測試框架jasmine的插件;karma-chrome-launcher 啟動chrome瀏覽器插件)

#安裝Karma
$ npm install karma --save-dev
#安裝測試項(xiàng)目需要的插件
$ npm install karma-jasmine karma-chrome-launcher  --save-dev

karma,karma-jasmine和karma-chrome-launcher包被安裝到項(xiàng)目工作目錄的node_modules目錄下旦委,并且保存他們到package.json的devDependencies依賴配置項(xiàng)中,因此其他開發(fā)者只需要在工作目錄下使用npm install命令即可得到所有依賴的安裝缨硝。

啟動Karma

#Run Karma:
$ ./node_modules/karma/bin/karma start

或者輸入那么長的啟動命令讓你很煩惱查辩,你可以通過全局安裝karma-cli,以使你可以在任何地方都可以簡單的運(yùn)行Karma

$ npm install -g karma-cli

配置

為了更好的滿足測試宜岛,Karma需要知道你的項(xiàng)目以便測試它,你可以通過配置文件來想Karma描述你的項(xiàng)目

生成配置文件

配置文件能夠由karma init命令來簡單地生成

$ karma init my.conf.js

Which testing framework do you want to use ?
Press tab to list possible options. Enter to move to the next question.
> jasmine

Do you want to use Require.js ?
This will add Require.js plugin.
Press tab to list possible options. Enter to move to the next question.
> no

Do you want to capture a browser automatically ?
Press tab to list possible options. Enter empty string to move to the next question.
> Chrome
> Firefox
>

What is the location of your source and test files ?
You can use glob patterns, eg. "js/*.js" or "test/**/*Spec.js".
Press Enter to move to the next question.
> *.js
> test/**/*.js
>

Should any of the files included by the previous patterns be excluded ?
You can use glob patterns, eg. "**/*.swp".
Press Enter to move to the next question.
>

Do you want Karma to watch all the files and run the tests on change ?
Press tab to list possible options.
> yes

Config file generated at "/Users/vojta/Code/karma/my.conf.js".

配置文件也可以使用CoffeeScript來書寫身弊,事實(shí)上列敲,你執(zhí)行karma init *.conf.coffee,就可以生成一個CoffeeScript的配置文件

應(yīng)用配置文件啟動Karma

啟動Karma時,把配置文件作為啟動命令的第一個參數(shù)凑术。
默認(rèn)沒有執(zhí)行配置文件參數(shù)的情況下所意,Karma會查看當(dāng)前目錄下是否存在karma.conf.js或者karma.conf.coffee,如果存在則應(yīng)用

# Start karma using your configuration:
$ karma start my.conf.js

我的git start項(xiàng)目

https://github.com/unnKoel/karma-gitstart

參考

http://karma-runner.github.io/0.13/index.html 官網(wǎng)
https://github.com/karma-runner/karma github源

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市壮莹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌涝滴,老刑警劉巖胶台,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件诈唬,死亡現(xiàn)場離奇詭異,居然都是意外死亡铸磅,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門吹散,熙熙樓的掌柜王于貴愁眉苦臉地迎上來八酒,“玉大人羞迷,你說我怎么就攤上這事∠挝停” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵与殃,是天一觀的道長碍现。 經(jīng)常有香客問我米奸,道長,這世上最難降的妖魔是什么慢睡? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任漂辐,我火速辦了婚禮,結(jié)果婚禮上髓涯,老公的妹妹穿的比我還像新娘。我一直安慰自己蚓再,他們只是感情好包各,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著娃属,像睡著了一般护姆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上须床,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天渐裂,我揣著相機(jī)與錄音,去河邊找鬼族阅。 笑死膝捞,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蔬咬。 我是一名探鬼主播林艘,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼钢坦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起爹凹,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤禾酱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后宇植,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡忙上,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年疫粥,在試婚紗的時候發(fā)現(xiàn)自己被綠了腰懂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡慷彤,死狀恐怖怖喻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情跋选,我是刑警寧澤哗蜈,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站炼列,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏音比。R本人自食惡果不足惜唯鸭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望硅确。 院中可真熱鬧目溉,春花似錦、人聲如沸菱农。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽循未。三九已至陷猫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間的妖,已是汗流浹背绣檬。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工嫂粟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留娇未,地道東北人。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓星虹,卻偏偏與公主長得像零抬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子宽涌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理平夜,服務(wù)發(fā)現(xiàn),斷路器卸亮,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • 簡介 Jasmine是一個behavior-driven development ( 行為驅(qū)動開發(fā) ) 測試框架,...
    菲汐閱讀 4,596評論 0 11
  • 利用Karma進(jìn)行前端單元測試 單元測試在程序開發(fā)過程中忽妒,起到很重要的作用。一般來說兼贸,單元測試的作用有: 使代碼可...
    wavesnow閱讀 3,469評論 0 6
  • 前言 本篇文章是我在學(xué)習(xí)前端自動化單元測試時的一些思路整理段直,之前也從未接觸過單元測試相關(guān)工具,如有錯漏寝受,請讀者斧正...
    Awey閱讀 12,634評論 8 37
  • 老貓在今年新年第一篇就講到了資產(chǎn)配置坷牛,告訴我們資產(chǎn)配置的一些基本原則和邏輯,受益匪淺很澄,我也說說自己的一些看法...
    uncleluo閱讀 365評論 0 0