2012-10-10 95 views
0

我使用聲納來檢查我的c#項目。我想測量代碼覆蓋率,這就是爲什麼我安裝了gallio和opencover。當我運行soner-runner時一切正常,我的單元測試被執行,...但聲納Web UI上的代碼覆蓋率爲0%。聲納與gallio和opencover,代碼覆蓋率:0%

你知道代碼覆蓋率爲0%的原因嗎?

我的解決辦法,項目和類: (S)SonarTestSolution (P)ClassLibrary1的 (C)的Class1.cs (P)ClassLibrary1NUnitTest (C)Class1NUnitTest.cs

的Class1.cs的內容: Class1NUnitTest.cs的

public class Class1 { 
    public String getTestString() { return "abc";} 
} 

內容:

[TestFixture] 
    public class Class1NUnitTest { 
     [Test] 
     public void createServiceFromFactoryTest() { 
      Class1 c = new Class1(); 
      Assert.That(c.getTestString(), Is.EqualTo("abc")); 
    }} 

sonar-project.properties:

sonar.projectKey=cs_sonar_test 
    sonar.projectVersion=1.0-SNAPSHOT 
    sonar.projectName=C# Sonar Test Project 
    sonar.sourceEncoding=UTF-8 
    sources=. 
    sonar.language=cs 
    sonar.donet.visualstudio.testProjectPattern=*NUnitTest* 

如果你想我可以包括日誌OG聲納亞軍,並且將生成的覆蓋面,report.xml將和加利奧-report.xml將文件

+0

您是否收到來自OpenCover的消息? –

回答

0

解決 - 項目是建造另一臺機器,這是問題所在。在同一個文件夾中構建解決方案可解決問題。

+0

只要您擁有所有可用的PDB,就不知道爲什麼會出現這種問題。當可視化代碼覆蓋率時,位置非常重要,因爲源文件的路徑包含在PDB文件中 –

相關問題