繁体   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