【发布时间】:2019-01-25 23:27:51
【问题描述】:
我上周升级到 Visual Studio 2017。一个使用 MSTest v1 的包含多个测试项目的解决方案起初似乎很好。大多数测试项目都能很好地执行测试。这是 .NET Framework,而不是 .NET Core。
但是,有一个项目我遇到了问题。这是一个集成测试项目,这意味着它使用 ChromeDriver 和 Selenium 运行 Web 应用程序测试。该项目引用了 NUnit,尽管该引用来自另一个项目引用。我实际上并没有使用 NUnit 作为我的测试框架。
这是尝试在该特定测试项目中运行任何测试时出现的错误:
Could not find test executor with URI 'executor://mstestadapter/v1'. Make sure that the test executor is installed and supports .net runtime version .
Test project {name} does not reference any .NET NuGet adapter. Test discovery or execution might not work for this project.
It's recommended to reference NuGet test adapters in each test project in the solution.
我在浏览https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-preview-relnotes#--visual-studio-2017-version-158-preview-4 的预览版本说明后找到了这个解决方案(向下滚动到“... 新功能...”,然后是 .NET 测试适配器扩展)。它提到了这个重大变化(尽管它没有破坏我的其他项目),但没有提到实际解决问题的方法。
当然,从长远来看,不选中该选项似乎不可行。所以我正在寻找有关如何进行的指导。
我已经尝试查看是否可以“快速”升级到 MSTest v2,但这有一个问题,因为找不到 System.Runtime 4.1.2。我尝试通过 NuGet 添加 System.Runtime 4.3.0,但这并没有解决问题。
【问题讨论】:
-
您是否尝试过在项目中添加对 MSTest.TestAdapter 的 Nuget 引用?
-
@Mike 我做到了。我现在不记得随之而来的问题是什么,但它产生了更多的问题。我认为是因为该特定项目还引用了 NUnit(一些继承的依赖项)。
-
@SvenAelterman 我只是想感谢您发布这个问题。我的 Nunit 2.x 单元测试最近停止工作,恰逢将 Visual Studio 2017 Community 更新到 15.8.6。果然,在 Visual Studio (
Tools > Options > Test > General) 中禁用“为了提高性能”复选框让他们再次工作。 -
禁用主动解决方案选项解决了我这边的问题“找不到具有 URI 'executor://mstestadapter/v1' 的测试执行程序” - 使用 VS Enterprise 2017 V15.8.7 [昨天更新:) ]
-
这是 Visual Studio 中一个非常愚蠢的错误。请投票解决这个问题:developercommunity.visualstudio.com/content/problem/319516/…