如何在Visual Studio中的特定文件夹中运行单个测试或所有测试?

时间:2017-02-01 12:04:05

标签: visual-studio unit-testing visual-studio-2017

所以我从使用ReSharper的Visual Studio 2015迁移到Visual Studio 2017,我正试图从我的工作流程中删除ReSharper。

我知道什么是CTRL + R,T运行整个TestClass或所有测试,具体取决于你运行它的位置。似乎在单个单元测试中选择一些东西仍然运行整个测试类。

是否可以进行单个单元测试?

我也错过了右键单击解决方案资源管理器中的文件夹并运行其中的所有测试。

是否有扩展功能提供这个小功能?

4 个答案:

答案 0 :(得分:2)

CTRL+R, T通过defualt分配给TestExplorer.RunAllTestsInContext

TestExplorer.RunAllTestsInContext基于光标如下所示:

enter image description here

所以TestExplorer.RunAllTestsInContext似乎正是你要找的......

要确定分配给此功能的密钥,请点击Tools -> options -> Environment -> Keyboard,在搜索栏中写下:TestExplorer.RunAllTestsInContext,然后您就可以看到密钥图/设置新密钥。

enter image description here

  

我也错过了右键单击解决方案资源管理器中的文件夹并运行其中的所有测试。

     

是否有扩展功能提供这个小功能?

据我所知,基本上没有这样的工具,因为文件夹对C#中的代码没有任何限制。做这种事情的正确方法是使用“TestCategory attribute

答案 1 :(得分:0)

您可以从Sub SuperMacroEOD_Trans() Dim MyFiles As String, wb As Workbook Call EndofDayTransfer ' Master Workbook Transfer first MyFiles = Dir("C:\Users\ME\Desktop\QA VBA Project\*.xlsm") Do While MyFiles <> "" If MyFiles <> ThisWorkbook.Name Then ' skip the master ' Always get an explicit reference to any file you open and use it Set wb = Workbooks.Open("C:\Users\ME\Desktop\QA VBA Project\" & MyFiles) Application.Run "'" & wb.name & "'!EndofDayTransfer" ' <-- specify scope explicitly to disambiguate wb.Close SaveChanges:=True End If MyFiles = Dir ' <-- inside the loop Loop End Sub 窗口运行单个单元测试。完成一次后,可以使用Tests Explorer重新运行上次运行的测试。因此,如果您最后一次运行是单个单元测试,那么它将是唯一一个重新运行。 可悲的是,似乎没有在光标下运行单元测试的捷径。

关于问题的其他部分,使用Ctrl+R, L窗口,您可以按命名空间,项目,类或结果分组测试,然后运行特定组的所有测试。也许它可以满足我们的需求?

希望得到这个帮助。

答案 2 :(得分:0)

TestExplorer中,您可以按Class对测试进行分组(工具栏中有Group By按钮,如图所示)然后它会按类别对测试进行分组,您可以右键单击一个组,然后单击Run Selected Tests

enter image description here

答案 3 :(得分:0)

您可以在Test Explorer的搜索框中添加新的过滤条件。在过滤器下拉列表中,您可以选择一个全名选项,然后在其中提供您的名称空间。

它将列出位于该命名空间下的整个测试文件。然后,您可以选择所有测试文件并执行“运行选定的测试”。