[英]Running NUnit tests in Visual Studio 2010 with code coverage
我們最近從Visual Studio 2008升級到Visual Studio 2010.作為代碼庫的一部分,我們有一組非常大的NUnit測試。 我們希望能夠在Visual Studio中運行這些單元測試,但啟用了代碼覆蓋 。 我們有ReSharper,因此可以在Visual Studio中運行測試,但它不允許代碼覆蓋工具執行其操作並生成coverage統計信息。
有沒有辦法讓這項工作,或者我們是否必須將測試轉換為MSTest?
編輯:我們已經嘗試過建議的工具:
TestDriven.Net
這在Visual Studio中運行NUnit測試很好,甚至可以使用代碼覆蓋,但它也包括測試作為覆蓋程序集的一部分。 似乎沒有辦法排除測試,但包括正在測試的程序集(我們的測試與他們測試的代碼在不同的程序集中)。 我們也不想花費額外的2000英鎊花費我們來為整個團隊獲得TestDriven.net。
加利奧
這沒用。 為了獲得覆蓋輸出,測試需要在Visual Studio測試運行器中運行。 Gallio不為NUnit提供此支持。
還有什么想法? 我們確實找到了幾個開源嘗試來讓這種類型的東西工作,但它們已經陳舊並且長時間沒有被觸及(因此不支持VS2010)。
gallio自動化框架是一個開源項目,應該允許您完成此任務。 該網站位於http://www.gallio.org/ 。在上一版本中有最初的VS2010支持,在夜間版本中有更多的工作。
這里有更多相關信息: http : //weblogs.asp.net/astopford/archive/2010/04/13/gallio-and-vs2010.aspx
但是,如果你有錢花在這上面,請看看http://TestDriven.Net
Jetbrains似乎正在使用名為“dotCover”的新產品解決這個問題。 它還處於初期階段,但考慮到他們的記錄,它應該很快就會成為主要參與者。
直到它發布,你可以“測試” 這里的夜間版本。
您可以在運行NUnit測試時使VS 2010代碼覆蓋功能正常工作,但這是配置工作的一部分:
設置運行nunit-console-x86.exe的通用測試,如下所示:
VS2010代碼覆蓋率是否支持nUnit? (xUnit的簡化描述)
http://msdn.microsoft.com/en-us/library/ms182624 (v=vs.100) .aspx (一般說明)
確保:
當您將來自不同文件夾的dll復制到單個文件夾中進行測試時,可能會發生奇怪的事情。 例如,我得到了令人反復的結果,即在運行單元測試時幾乎所有的單元測試代碼都被覆蓋了 。 太可惜了,該代碼覆蓋率沒有 找到單元測試測試的圖書館!
好吧,在設置所有構建輸出目錄后,我遇到了最奇怪的問題:從該文件夾NUnit不運行。 我讓它從2個不同的位置運行,但在這里它“nunit-console-runner.dll not found”。
我只是通過以下方式在另一個位置檢測測試庫:
今天它立即起作用了,但是前幾天我試圖將這些位置正確地運行了大約一個小時。 我仍然不知道那天我搞砸了什么。
阿德里安,
看看TestMatrix - 它將運行您的單元測試,代碼覆蓋和單元測試性能分析 - 所有這些都本機集成到Visual Studio中。
我在CodePlex上找到了Code Coverage Runner項目,它通過適配器連接VS測試和NUnit API。 在撰寫本文時,該項目自2008年3月以來尚未更新,但它可能適合您的需求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.