2017-09-05 66 views
0

從在線定義:Karma與茉莉花並存嗎?

噶:是一個工具,它派生,對每個連接的瀏覽器的測試代碼執行的源代碼的Web服務器。檢查每個瀏覽器的每個測試結果,並通過命令行顯示給開發人員。

Jasmine:是一個用於測試js代碼的開發框架。它不依賴於任何其他的JavaScript框架。它不需要DOM。它有一個乾淨明顯的語法,以便您可以輕鬆編寫測試。

我的問題是,Karma是否需要Jasmine運行,Karma是否依賴Jasmine,因爲Jasmine是一個框架,Karma是一個在該框架上運行並運行書面測試的工具?

我在我的angular2項目中使用它們。

+0

https://angular.io/guide/testing#tools-and-technologies請閱讀本文。 – Swoox

+0

所以我的問題的答案是肯定的?噶確實取決於茉莉花?不能沒有它? – masterach

+1

是的,答案是肯定的。茉莉花做**它附帶一個HTML測試運行器,在瀏覽器中執行測試** Karma使用這個瀏覽器顯示結果。或者你完全需要重寫業力,只顯示控制檯的輸出。 – Swoox

回答

1

Karma是客戶端測試運行器,不依賴於Jasmine。它可以在沒有任何測試框架的情況下運行。

它有主要測試框架的插件,包括JasmineMocha

+0

那我爲什麼需要茉莉花呢?爲什麼Jasmine集成在angular2項目中? – masterach

+0

Angular是應用程序框架。茉莉花是測試框架。如果你不使用其中之一,你最終會用vanilla JS重新創建它的功能。在Jasmine的情況下,這意味着'if(foo!== 1)會拋出新的Error('foo不等於1')'而不是'it(...,()=> expect(foo)。 toBe(1)})'。所有[Jasmine API](http://jasmine.github.io/edge/introduction.html)將不可用。沒有'describe','it'或'beforeEach'塊。沒有斷言,沒有間諜。 – estus

1

是的,茉莉花和卡瑪可以共存。

  • 茉莉花是一種基於JavaScript框架,我們用它來編寫單元
    測試用例。茉莉的替代品是摩卡。
  • Karma是一個測試運行者,它在瀏覽器上運行單元測試用例。它可以用於所有類型的單元測試框架。並且很容易與Bamboo和Jenkins等所有CI工具集成。