2012-10-30 35 views
10

在使用AngularJS構建單頁應用程序時,我試圖將Jasmine測試集成到我的構建中。我怎樣才能運行茉莉花測試與噶(是綽號)竹?

我之前用Maven Jasmine插件做了類似的事情,但我不喜歡在maven中包裝我的項目來運行Jasmine測試。以某種方式使用Karma(是Testacular)似乎更清潔。

我很舒服,我會從shell命令運行的東西,我的猜測是,我可以從竹運行命令。

我的問題:

  • 我在正確的軌道上?
  • 如何最好地從腳本中構建失敗,或者Bamboo是否自動識別Karma輸出?

回答

8

偉大的問題。確保testacular.conf.js由竹

junitReporter = { 
    // will be resolved to basePath (in the same way as files/exclude patterns) 
    outputFile: 'test-results.xml' 
}; 

您可以配置Testacular到對許多瀏覽器上運行,並配置爲輸出的JUnit XML消費預先配置使用Chrome,我們選擇去啓動無頭用PhantomJS來做單元測試。口內已經有茉莉花。

對於CI如果您使用Ant很多(和我們一樣的),我們正走在一條

// Continuous Integration mode 
// if true, it capture browsers, run tests and exit 
singleRun = true; 

建議,有時你只是想堅持你所知道的...所以你可能要結帳ANT, Windows and NodeJS Modules.運行節點模塊(即單兀)。

有一點需要注意的是,如果你在windows上運行testacular,那麼在hiredis模塊中,npm安裝的testacular會失敗,這似乎只是* nix友好的。所以,沒有它,它工作得很好。

我們花了幾個小時證明所有這些工作。希望這會有所幫助

--dan

+0

太好了,謝謝分享。如果我發現了一些可以用於澄清的事情,我會在這裏回覆或編輯。特別是junitReporter提示是一個寶石。 – iwein