2010-12-06 28 views
10

一直在尋找jsunit和jcoverage演示here點擊報道鏈接。在新標籤頁打開)jasmine with jscoverage自動化測試

我想知道是否有人做過類似於Jasmine和JSCoverage?我有點不確定如何繼續。

[編輯] 我想知道如果有什麼我可以用茉莉記者做。我的茉莉花「你好世界」的例子提到了一個TrivialReporter。也許這可以延長?

[編輯] 我現在有線了JS測試亞軍茉莉。現在如果我能想出一種方法來獲得覆蓋面?

回答

4

如果你工作在一個Ruby項目,並通過茉莉寶石使用茉莉,我有一個補丁,增加了jscoverage支持[1]。

如果您使用捆綁,你可以在你Gemfile使用此版本的茉莉花使用下面的命令:

gem 'jasmine', 
    :git  => 'git://github.com/hjdivad/jasmine-gem', 
    :submodules => true, 
    :branch  => 'jscoverage' 

確保你已經下載jscoverage和它在你$PATH

然後,您可以添加以下jasmine.yml

coverage: 
    enabled: true 
    encoding: utf-8 
    tmp_dir: tmp 
    report_dir: public/coverage 
    skip_paths: 
    - public/javascripts/vendor 

如果這對你的作品,你可能想說話就拉請求[2]得到它,或者一些變化,到茉莉寶石正確。

+1

如果你不是一個Ruby項目工作的時候,你應該可以看看在拉請求兩次提交併提取你需要一個獨立的js項目的東西。 1.複製jscoverage.js並將其添加爲幫助程序。 2.運行測試時運行jscoverage來檢測你的javascript,並將檢測到的文件放到某個目錄中。 II。茉莉花對這個目錄運行iii。測試完成後,將`jasmine.coverageReport()`的結果保存爲`jscoverage.json` iv。修改生成的`jscoverage.js`,在底部附加`jscoverage_isReport = true;`。 – hjdivad 2011-06-01 21:38:05

1

如果你不使用茉莉花寶石,或者不希望有運行服務器,檢查覆蓋面,我已經寫了一個可以把jscoverage和jasmine結合在一起的寶石。它可以在CI構建中作爲rake任務運行。

它可以在這裏找到:https://github.com/firstbanco/jasmine-coverage

安裝它,然後只需運行

bundle exec rake jasmine:coverage 

大功告成。

編輯:由於茉莉花報道的作者,我覺得有義務告訴你一個更好的選擇:teaspoon。它需要更多的設置,但也允許在瀏覽器中運行,以便您可以使用Chrome調試器。