2013-04-01 44 views
6

我們有一個包含一堆javascript文件的Jenkins作業。 我們通過grunt構建項目,並在構建結束時運行JSCover來運行我們的單元測試並收集代碼覆蓋率。這一切都有效。我們得到一個很好的LCOV文件。如何告訴Sonar使用我的LCOV文件進行代碼覆蓋

我們現在想要將LCOV文件上傳到Sonar,我不知道如何做到這一點。 我們正在從詹金斯建造我們的項目作爲一個自由風格的項目。

我試圖玩弄聲納各種項目屬性,但沒有愛情:

# project metadata (required) 
sonar.projectKey=my.project 
sonar.projectName=My Project 
sonar.projectVersion=1.0 
# path to source directories (required) 
sonar.sources=src 

# The value of the property must be the key of the language. 
sonar.language=java (I tried js and javascript, but no love. Plugin is not installed. Actually, I don't care about the language, since I am already generating the LCOV file during the build. I just need Sonar to use this LCOV file.) 

# Advanced parameters 
sonar.javascript.jstestdriver.reportsfolder=target/surefire-reports 
sonar.javascript.jstestdriver.coveragefile=target/test-coverage/jscover.lcov 
sonar.dynamicAnalysis=reuseReports 

我懷疑問題是在「高級參數」,但我不知道怎麼告訴聲納,「請使用我的LCOV文件進行代碼覆蓋「。

回答

5

你可以看看this sample project,在sonar-project.properties文件中指定LCOV報告的路徑。

請注意,某些屬性名稱在最新版本的Javascript插件中已更改。

+1

啊,看看你發佈的鏈接,我看到的訣竅是添加這個:sonar.javascript.jstestdriver.coveragefile = target/test-coverage/jscover.lcov sonar.javascript.lcov.reportPath = target/test-coverage/jscover.lcov – grayaii

+2

JsTestDriver不再存在。他們確實有[另一個Javascript](https://github.com/SonarSource/sonar-examples/tree/master/projects/languages/javascript/javascript-sonar-runner-lcov)項目,我發現它很有幫助。 – cazzer

+0

更新了答案中的鏈接,謝謝。 –

相關問題