2

我有一個從Visual Studio 2010升級到2012的項目,並且.testrunco​​nfig文件包含在升級過程中。如何在Visual Studio 2012中禁用代碼覆蓋/裝配檢測?

我注意到可以在我運行的任何單元測試上單擊「分析代碼覆蓋率」,它會正確顯示結果。但是,我的測試運行配置(最初來自VS 2010)禁用了代碼覆蓋範圍。

經過一番研究後,我瞭解到VS 2010配置文件已被棄用,並被替換爲.runsettings文件。看起來,VS 2012默認會執行程序集檢測,這會帶來大量的開銷。

因此,我想知道我如何禁用VS 2012中的代碼覆蓋率。基於我目前的發現,它似乎不是一個繁雜的任務。我閱讀的最近一篇文章讓我手動創建一個XML文件,並將其命名爲「MYCONFIGURATION.runsettings」並手動操作XML屬性值。

有誰知道這應該怎麼做?

+0

是的,你應該添加一個runsettings文件。您可以在http://msdn.microsoft.com/en-us/library/jj159530.aspx上找到詳細信息。 –

+0

感謝您的回覆。我原本做的研究使我走向了runsettings文件的路徑。代碼覆蓋默認情況下是啓用的,並且在VS2012中沒有簡單的GUI操作來禁用它,這似乎很奇怪。代碼覆蓋/工具是一個非常「昂貴」的構建操作,所以它讓我驚訝,爲什麼微軟默認啓用它。這幾乎就像他們希望你使用NUnit :) –

回答

0

代碼覆蓋率只能通過使用數據驅動適配器的測試瀏覽器啓用。通過測試瀏覽器運行的測試的元數據幾乎完全不同於從單元測試會話窗口直接運行的測試。你是否試過直接從代碼(MSTest GUI泡泡)或單元測試會話窗口直接運行它?

2

這是我從您的文章理解:

  • 您有.testsettings文件測試項目。您尚未在測試設置中啓用代碼覆蓋。

在您的方案中,默認情況下未啓用代碼覆蓋檢測。如果您從VS分析「代碼覆蓋率」,則會安裝二進制文件。

附加信息: 可以確認是不是從Visual Studio開發人員命令提示符下運行以下命令生成的文件.coverage:

vstest.console.exe /Settings:<your test settings file> test.dll 

如果您在啓用覆蓋覆蓋文件將只得到產生測試設置。

相關問題