簡體   English   中英

如何在Visual Studio中分別在不同的文件夾/項目中運行(單元)測試?

[英]How do I run (unit) tests in different folders/projects separately in Visual Studio?

Visual Studio文件夾結構

我需要一些建議,以了解如何在Visual Studio中輕松地將單元測試和集成測試的測試運行分開。 我經常或總是按照上圖所示構建解決方案:用於單元測試和集成測試的單獨項目。 當上下文正確對齊時,單元測試非常頻繁地運行,而集成測試自然而然地運行。

我的目標是以某種方式能夠配置使用鍵盤快捷鍵時要運行的測試(或測試文件夾)。 這些測試最好應由圖形測試運行程序(ReSharpers)運行。 所以舉個例子

  • Alt + 1在項目BLL.Test中運行測試,
  • Alt + 2在項目DAL中運行測試。
  • Alt + 3都運行它們(即[Tests]文件夾中的所有測試,以及
  • Alt + 4在文件夾[Tests.Integration]中運行測試。

TestDriven.net可以通過右鍵單擊並選擇“運行測試”來僅在所選文件夾或項目中運行測試。 能夠做到這一點,但是通過鍵盤命令和圖形測試運行程序將是很棒的。

TestDriven.net測試運行輸出

目前,我使用VS2008,ReSharper 4和nUnit。 但是,對於一般設置的建議當然也值得贊賞。

我實際上是通過使用綁定到宏的鍵盤命令自己找到了一種解決方案。 宏是從菜單工具>宏>記錄TemporaryMacro記錄的。 在錄制時,我選擇了[Tests]文件夾並運行ReSharpers UnitTest.ContextRun。 這產生了以下宏,

Sub TemporaryMacro()
    DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate
    DTE.ActiveWindow.Object.GetItem("TestUnitTest\Tests").Select(vsUISelectionType.vsUISelectionTypeSelect)
    DTE.ExecuteCommand("ReSharper.UnitTest_ContextRun")
End Sub

然后在“工具”>“選項”>“環境”>“鍵盤”中將其綁定到它自己的鍵盤命令。

但是,更棒的是更通用的解決方案,其中我可以准確配置要運行哪些項目/文件夾/類以及何時運行。 例如通過xml文件。 然后可以輕松地將其檢入版本控制,並分發給與項目合作的每個人。

這是一個簡單的解決方案,但是您可以為要運行的每個測試組配置一些外部工具 我不確定是否可以通過這種方式啟動ReSharper測試運行程序,但是可以運行nunit的控制台版本。 設置完這些工具后,即可為命令“ Tools.ExternalCommand1”,“ Tools.ExternalCommand2”等分配鍵盤快捷鍵。

這確實無法很好地擴展,並且很難更改-但是它將為您提供用於運行測試的鍵盤快捷鍵。 確實感覺應該有一種更簡單的方法來執行此操作。

您可以使用VS宏來解析XML文件,然后使用/ fixture命令行參數調用nunit.exe來指定要運行的類或生成選擇保存文件,然后使用該類來運行nunit。

我從來沒有使用過,但也許可以幫忙...。

http://www.codeplex.com/VS2008UnitTestGUI

“項目說明此項目是關於在用Visual Studio 2008編碼的多個.NET單元測試程序集中運行所有單元測試。”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM