visual-studio – 如何在Visual Studio中分别在不同的文件夹/项目中运行(单元)测试?

我需要一些建议,以便我可以轻松地在Visual Studio中为单元测试和集成测试分开测试运行.通常,或者总是,我构建了如上图所示的解决方案:用于单元测试和集成测试的单独项目.单元测试运行频繁,而当上下文正确对齐时,自然会运行集成测试.

我的目标是以某种方式配置在使用键盘快捷键时运行哪些测试(或测试文件夹).测试最好由图形测试运行器(ReSharpers)运行.所以举个例子

> Alt 1在项目BLL.Test中运行测试,
> Alt 2在项目DAL.Tests中运行测试,
> Alt 3同时运行它们(即[Tests]文件夹中的所有测试,和
> Alt 4在文件夹[Tests.Integration]中运行测试.

TestDriven.net可以选择在所选文件夹或项目中运行测试,方法是右键单击它并选择Run Test(s).能够做到这一点,但通过键盘命令和图形测试运行器将是非常棒的.

目前我使用的是VS2008,ReSharper 4和nUnit.但是对于一般设置的建议当然也值得赞赏.

最佳答案 我实际上通过使用绑定到宏的键盘命令为我自己找到了一种解决方案.宏从菜单Tools> Macros> Record 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文件的方式.然后可以轻松地将其签入版本控制并分发给使用该项目的每个人.

点赞