6
我有麻煩測試代碼加入到覆蓋

,我使用的是噶和文件添加到噶已經與browserify捆綁在一起,所以在karma.conf.coffee它看起來像這樣:與噶測試覆蓋率,browserify和CoffeeScript的

files: [ 
    { pattern:'bin/public/client/app.js', served:yes: included:yes } 
    { pattern:'src/lib/vendor/angular-mocks/angular-mocks.js', served:yes: included:yes } 
    { pattern:'bin/tests.js', served:yes: included:no } 
] 

這適用於運行測試,但不能覆蓋

我使用karma-coverage NPM包,這樣的:

preprocessors: 'bin/public/client/app.js':['coverage'] 

reporters: ['progress','coverage'] 

實際上並建立覆蓋統計文件,但這些都是完全錯誤的,因爲它是變紅從browserify帶來node_modules部分(因爲我沒有測試,以覆蓋那些)

理想我必須收集源地圖,browserify產生,並針對這些運行覆蓋,但browserify將源地圖嵌入到.js文件中。使用karma-sourcemap-loader讓我看到的測試原來的CoffeeScript文件,調試時(由於某種原因,它只能在ChromeCanary,但它的工作原理)

我試着做preprocessors: 'src/client/**/*.coffee':['coverage'],但是,在所有產生沒有統計說「沒有任何數據顯示'

你有什麼想法嗎?

UPD:

我已經運行browserify-istanbulcoffeeify變換後的權利想通這給了我很好的圖是這樣的:enter image description here

現在,我需要以某種方式從中刪除app.js,因爲實際上它並不重要,真正混淆

UPD:

哦,而不是JavaScript我必須提供咖啡文件:

preprocessors : { 
    'bin/tests.js': ['sourcemap'] 
    'src/client/**/*.coffee': ['coverage'] 
} 

回答

3

似乎我回答了我自己的問題。另外它似乎在當前版本的karma-coverage中有一個錯誤 - 當coverageReporter.typehtml(它是默認的html)時它會引發錯誤。我很高興我明白了。總是很高興看到測試覆蓋了多少代碼

+1

介意分享您的完整gruntfile? –

+0

@RobertLevy我正在使用Gulp。我仍在努力推廣事物,計劃將事情包裝到Yeoman生成器中,以便在其他項目中重用相同的堆棧作爲引導點。當然,使其開源是計劃的一部分。雖然在目前的狀態下項目還太年輕,並且需要拋光的東西很多 – Agzam

+1

我還希望看到您的配置,即使在未拋光的狀態下。 – sandinmyjoints