我在 VS2019 中看到 NUnit 测试的一些非常奇怪的行为,其中相同的解决方案在 VS2017 中运行良好。我的灵魂里有几个 NUnit 测试项目。
在安装了 NUnit Runner 扩展的 VS2017 中,我可以在测试资源管理器窗口中看到我的所有测试,并且“全部运行”按钮将起作用并运行所有测试。我组织中的一些开发人员使用 Resharper 而不是 NUnit 扩展,这也有效。
我已经停止使用 Resharper,因为随着 VS 引入了更多功能,Resharper 变得如此缓慢以至于 VS 无法使用。
在 VS2019 中,测试资源管理器窗口将显示我所有的单元测试(即使没有安装 NUnit 扩展)。如果我单击“全部运行”,它将不会运行任何测试,并且“输出”窗口将显示 0 个已发现测试。同事们表示,Resharper 将毫无问题地运行所有测试。如果我右键单击单个测试项目并仅运行这些测试,则某些项目将运行测试,但不是全部。
对于某些项目,我尝试安装 NUnit3TestAdapater nuget 包,如果仅选择该项目,这将使 VS2019 运行该项目的测试。这不适用于所有项目,它仍然不适用于“全部运行”。
有谁知道可能是什么原因造成的,有什么可以解决的?我已经为所有这些项目更新到最新版本的 NUnit (3.12) 和最新的 TestAdapter (3.16)。
大约一年来这一直是一个真正的痛苦,因为我需要同时安装 VS2017 和 2019,并且我需要培训新开发人员如何解决这个奇怪的问题。