如何 run/discover 仅从 Visual Studio 中的一个程序集进行测试?

How to run/discover tests from only one assembly in Visual Studio?

我有一个中等规模的 VS 解决方案,其中包含大约 50 个项目,其中一半是测试。当我打开 VS 后转到 Test > Windows > Test Explorer 时,window 需要几分钟才能加载,因为它从所有 ~25 个测试程序集中加载测试,总共包含数千个测试用例。但是,我只想 run/debug 测试一个项目。

是否可以让测试资源管理器 window 只发现一个程序集的测试,而忽略其余程序集?谢谢

一些可能相关的更多信息:我在 .NET Core 项目中使用 xUnit 测试框架。

您可以从不需要 运行 测试的解决方案中卸载所有项目。
(右键单击解决方案资源管理器中的项目并 select Unload Project。)

现在,测试资源管理器仅从剩余的已加载程序集中发现和加载测试。

您还可以 select 多个项目或整个文件夹,然后单击一下即可卸载它们。当您在解决方案资源管理器中应用过滤器时,这也适用。 (例如,如果您想要卸载除一个名称中包含类似“.Tests”的程序集之外的所有程序集。)

甚至可以在单独的 Visual Studio 实例中多次打开您的解决方案,并向它们应用不同的 loaded/unloaded 程序集集。

此技术的优点是您不需要为每个要从中进行 运行 测试的程序集组合提供单独的解决方案,并且您可以在解决方案中保留现有项目引用。