2015-03-03 115 views
3

我在Visual Studio 2013中的C#項目中有一組單元測試。 有沒有一種方法可以根據單元測試結果生成報告?在Visual Studio 2013中生成單元測試報告

我需要一份報告作爲測試運行時間和結果的證據。我不是指在線CI服務器報告,我只是指本地文件報告。 VS2013有什麼好的插件嗎?

我看着NUnit插件,其XML輸出,但它不是很準確,顯示大量的數據被複制和不準確的(例如我的操作系統類型)。我目前堅持使用Visual Studio MSTest測試框架。

+1

由於測試將在每個開發人員機器上運行,因此您需要查看集中運行這些報告的方法。構建並使用CI(持續集成)服務器,並在構建觸發時生成報告。 – 2015-03-03 10:14:13

+0

這聽起來像一個偉大的系統設計,我會研究,謝謝。然而它的「生成報告」階段阻止了我。我沒有看到任何可用功能在Visual Studio 2013或任何外部工具(除了Nunit)之外生成任何正式報告,但我不是一個巨大的粉絲。我認爲報告是必要的 – Spirit 2015-03-03 10:29:41

+1

如果您搜索您選擇的CI服務器和'單元測試報告'或'代碼覆蓋率報告',您應該發掘所有您需要的信息。即如果您有許可證可用,TFS可能是明顯的選擇,或者您可以查看其他CI服務器,如TeamCity或CruiseControl。 – 2015-03-03 10:51:08

回答

3

我會建議使用vstest.console.exe從命令行生成結果如下:

vstest.console.exe YourTestProject.dll /Logger:trx

結果將保存在以下格式:「username_PCName YYYY-MM-DD HH_MM_SS.trx」然後導航到輸出結果的文件夾,並使用trx2html(這是適用於VS2012 +的版本)將結果轉換爲HTML報告!

trx2html.exe 「username_PCName YYYY-MM-DD HH_MM_SS.trx」

我知道你說你想在一個插頭,但也許這將滿足您的要求!

1

您可能最擅長的工作是設置持續集成和持續交付。

例如我們已經安裝在我們公司以下過程:

詹金斯(管理過程) SVN TRIGGER - > MSBUILD - >單元測試(NUnit的) - >聲納 - >部署(MSDEPLOY) - > SMOKE TESTS(已部署成功?) - > ROLLBACK(MSDEPLOY) - > SELENIUM測試

在這個過程中,我們有代碼遵從性和構建斷路器,以防止任何單元測試無法正常工作,你無法部署。這個想法是,這是愚蠢的證據。交付管道可視化工具也非常酷。

您可以將命令行中的Nunit XML報告拖放到Sonar中,我自己也有一些問題,但您需要在檢查測試之前重新生成並針對dll文件本身運行測試。

希望這會有所幫助。

+0

謝謝,它是有用的,但我正在尋找一個插件,它將Visual Studio的單元測試結果輸出爲XML或word文檔。因爲我需要在本地生成報告,而不是與CI服務器密切相關,所以它不是我所需要的。但是,謝謝你的信息。 – Spirit 2015-03-03 17:31:07

+0

不夠公平,不適合所有人,我會以此作爲評論,但我當時沒有足夠的分數。 – Netferret 2015-03-04 10:02:48