2017-04-02 53 views
0

我想弄清楚如何使用@ angular/cli獲得代碼覆蓋率,但到目前爲止我沒有多少運氣。無法在angular-cli新項目上查看代碼覆蓋

我開始了一個使用angular CLI的新項目。基本上我所做的一切都是ng new test-coverage,一旦一切都安裝在我的新項目文件夾中,我做了一個ng test --code-coverage。測試已成功運行,但瀏覽器中未顯示與代碼覆蓋率類似的內容。

我是否缺少一些依賴關係或其他內容?任何幫助將不勝感激。

編輯: R.理查茲和拉希德Oussanaa是正確的,該文件確會產生,我可以通過打開index.html的訪問。

現在我想知道,有沒有一種方法可以將它集成到節點命令中,以便在測試運行後立即打開文件?

+1

是否有任何內容在覆蓋目錄中輸出?應該有一個可以查看的index.html文件。 –

+1

angular-cli將在您的項目目錄中生成覆蓋目錄 –

+0

就是這樣!謝謝你們,我不知道我是怎麼錯過的... 有沒有一種方法可以將它集成到'ng test'命令中? (所以當測試運行時顯示它,或者我必須每次都手動運行它?) – DVM

回答

1

這裏是你可以做什麼:

安裝opn-cli這是流行的opn包是用於在其默認的應用程序打開文件跨平臺工具CLI。

npm install -D opn-cli-D安裝爲開發依賴。

package.json

scripts下添加腳本如下

"scripts": { 
    ... 
    "test-coverage": "ng test --code-coverage --single-run && opn ./coverage/index.html" 
} 

現在運行npm run test-coverage 這將運行我們定義的腳本。這裏是該腳本的解釋:

  • ng test --code-coverage --single-run將進行測試,與覆蓋面,只有一次,因此--single-run
  • &&基本上執行第二命令如果第一個成功
  • opn ./coverage/index.html將打開該文件,無論平臺。
+0

謝謝你,工作得很好。我只是使用htt-server而不是opn – DVM

+0

我真的不建議爲此運行一個http服務器,但是如果你堅持和它的工作,去吧:) –

+0

嘿,謝謝你的建議。 https://www.npmjs.com/package/http-server似乎足夠輕量級,但如果它變得太麻煩了,我會切換到opn。 – DVM