我跑我測試時的代碼覆蓋率不工作有一個退出的問題,我有沒有收集覆蓋信息的消息ES6陣營伊斯坦布爾尚無覆蓋信息收集,無需編寫覆蓋信息
,退出不寫覆蓋信息
我寫我的測試使用ES6,我用巴貝爾轉換代碼。
爲了解決我用這個討論提供GitHub的項目的問題:https://github.com/gotwarlost/istanbul/issues/496
的技巧是使用
`babel-node ./node_modules/istanbul/lib/cli cover node_modules/mocha/bin/_mocha -- --require test-helper.js --bail --recursive 'src/js/__tests__/**/*.test.js'`
,而不是
"istanbul cover node_modules/mocha/bin/_mocha -- --compilers js:babel-core/register --require scripts/test-helper.js --recursive 'src/js/__tests__/**/*.test.js'"
它運作良好,但問題是代碼覆蓋率只考慮你測試的類,而不是你創建的所有類。
如果我在項目的src
文件夾中添加新類mod.js
,app.js
組件的覆蓋率爲100%。這是合乎邏輯的,因爲它已經過全面測試,但在報告中mod.js
類沒有出現在報告中 - 它未被列爲已測試0%的類(https://github.com/JakeSidSmith/istanbul-no-coverage)。
我試圖添加cover -x 'src/js/__tests__/**/*.test.js'
但不起作用。我不能混合第一種風格和第二種風格。
另一個問題是,在上面提供的項目示例中,test-helper.js被視爲已經過全面測試,我無法使用cover -x
將其從覆蓋範圍中排除。
是否有另一個竅門,使用ES6/mocha進行正確的代碼覆蓋,並讓mocha撥打babel-core/register
?
我也有這個問題。 –