代码之家  ›  专栏  ›  技术社区  ›  andynil

如何在VisualStudio中分别在不同的文件夹/项目中运行(单元)测试?

  •  4
  • andynil  · 技术社区  · 16 年前

    Visual Studio folder structure

    我的目标是在使用键盘快捷键时以某种方式配置要运行的测试(或测试文件夹)。测试最好由图形化测试运行程序(ReSharpers)运行。比如说

    • Alt+1运行项目BLL.Test中的测试,
    • Alt+2在project DAL.tests中运行测试,
    • Alt+3同时运行它们(即[tests]文件夹中的所有测试,以及
    • Alt+4在文件夹[tests.Integration]中运行测试。

    TestDriven.net有一个选项,可以通过右键单击选定文件夹或项目并选择“运行测试”来仅运行该测试。能够做到这一点,但通过键盘命令和图形化测试运行程序将是了不起的。

    TestDriven.net test run output

    4 回复  |  直到 13 年前
        1
  •  2
  •   andynil    16 年前

    实际上,我通过使用绑定到宏的键盘命令,自己找到了一种解决方案。宏是从菜单工具>宏>录制临时宏。录制时,我选择了[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文件。然后可以很容易地将其签入到版本控制中,并分发给与项目一起工作的每个人。

        2
  •  0
  •   Wilka    16 年前

    external tools 对于要运行的每组测试。我不确定您是否能够以这种方式启动ReSharper测试运行程序,但您可以运行nunit的控制台版本。设置完这些工具后,可以为命令“tools.ExternalCommand1”、“tools.ExternalCommand2”等指定键盘快捷键。

    这并不能很好地扩展,而且很难更改,但它会为您提供运行测试的键盘快捷键。我确实觉得应该有一种更简单的方法来实现这一点。

        3
  •  0
  •   Mark Cidade    16 年前

        4
  •  0
  •   Gern Blanston    16 年前

    http://www.codeplex.com/VS2008UnitTestGUI

    “项目说明 此项目是关于在使用Visual Studio 2008编码的多个.NET单元测试程序集中运行所有单元测试。”

    推荐文章