2016-08-18 106 views
2

編輯:幾個月後,我完全遷移到實驗室,它工作的很好,包括覆蓋。也許在我寫這個實驗室的時候沒有一個好的覆蓋工具。我如何獲得伊斯坦布爾報告Lab/Hapi.js測試的報道?

我已經得到了這個工作。今天早上工作。突然間,事實並非如此。

測試在dist/test/unit.js。 15個測試涵蓋了80.29%的代碼(基於Lab的覆蓋報告)。但是我們準備與Sonar一起使用伊斯坦布爾,所以我需要再次與伊斯坦布爾合作。反正我更喜歡伊斯坦布爾的報道。

我與運行測試:

./node_modules/.bin/istanbul cover ./node_modules/.bin/lab -- -l -e development -r lcov dist/test

測試運行。全部通過。屏幕輸出爲覆蓋率報告:

... 
DA:801,1 
DA:802,1 
DA:803,1 
DA:804,1 
DA:805,1 
DA:806,1 
DA:807,1 
LF:774 
LH:738 
end_of_record 
No coverage information was collected, exit without writing coverage information 

爲什麼這告訴我沒有收集到覆蓋範圍?我怎樣才能讓這兩種工具再次相處融洽?

擺脫-r lcov並沒有真正的幫助。無論哪種方式,./coverage(默認文件夾)都沒有輸出。我可以通過管道強制它,但是當我運行輸出到伊斯坦布爾(報告選項)時,我得到Error: Invalid report format [coverage/cover.info]

看起來正在生成的覆蓋率報告無效。我怎麼會知道?

回答

0

關於這一個的決議並不是很令人滿意。我查了一些舊的代碼和它的工作,所以我開始一個測試,並跳過休息和使用這個命令:

./node_modules/.bin/istanbul cover ./node_modules/.bin/lab -- -l -e development ./dist/test/unit.js

然後我從測試逐個刪除跳躍。最後,覆蓋報告與所有測試一起工作。不知道真正的問題是什麼阻止了伊斯坦布爾昨天收集報道信息。

我唯一能想到的是我從我的npm命令中刪除了rm -rf coverage(這是:transpile,刪除覆蓋範圍,運行覆蓋範圍,打開覆蓋率報告;用分號分隔的npm命令)。也許這是阻止伊斯坦布爾寫覆蓋文物?

相關問題