對於具有6個項目(類庫& wcf服務)的Visual Studio解決方案,我只用一行Assert.AreEqual(1,1)添加一個測試項目。 OpenCover顯示100%的覆蓋率(100%序列和100%分支)。OpenCover顯示100%覆蓋率,沒有有效的測試
OpenCover.Console.exe -target:"nunit3-console.exe" "-targetargs:Services.nunit" -register:user -skipautoprops -mergebyhash
只有當我在測試中的其他項目實例化一個類的覆蓋率下降到0.1%。
因此,看起來像是沒有加載dll,OpenCover無法計算其代碼覆蓋率。
現在的問題是,如果添加一個新的類庫,並且它從未在單元測試中實例化,OpenCover會在計算覆蓋率度量時忽略該dll。
這很重要,因爲我們有一個分佈式團隊,開發人員可能只是創建一個類庫,而不會爲其編寫測試。它最終顯示在代碼評論中,但可以配置OpenCover來檢測這種情況。
看來您需要回到OpenCover的文檔。同時,在SharpDevelop中,OpenCover集成更易於使用,http://community.sharpdevelop.net/blogs/mattward/archive/2012/08/08/CodeCoverageWithOpenCover.aspx http://community.sharpdevelop.net/blogs/mattward /archive/2014/07/27/BranchCoverageWithOpenCover.aspx –