NUnit 测试适配器发现测试:是否可以忽略项目?

NUnit Test Adapter Discover Tests: Is it possible to ignore Projects?

我正在使用 Visual Studio 2017 年的 NUnit 2 测试适配器扩展。

每次我构建我的解决方案时,测试适配器都需要大约三分钟来发现所有测试,我猜这是因为跨多个项目有超过 1100 个单元测试,甚至更多项目没有任何测试。

我想知道是否有一种方法可以将项目从一开始就排除在测试检查之外,因为我通常只需要 运行 一个特定项目的测试。

NUnit 无法避免检查项目以进行测试,因为 VS 告诉适配器检查程序集列表。

对于 NUnit V2,这意味着检查程序集中的每个 public class 并查看每个方法中的所有方法以确定这是否是测试程序集。执行此操作的代码在 V2 框架本身中。从理论上讲,V2 适配器可以检查程序集是否包含对 nunit V2 框架的引用,但这不太可能发生,因为 V2 已经有一段时间没有积极开发了。

解决此问题的最佳方法是将您的测试转换为使用 NUnit 3。NUnit 3 适配器使用的 NUnit 3 引擎会进行初始检查以确定程序集是否引用了 NUnit 框架。当然,这要快得多。

当然,您可能出于某种原因仍在使用 V2,因此您必须权衡适用于您的项目的升级的利弊。