在Visual Studio 2017 15.8.1中使用MSTest v1运行测试的指南

Sve*_*man 39 mstest visual-studio-2017

我上周升级到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.

禁用下面显示的选项使一切正常: Visual Studio 2017选项的屏幕截图,测试设置.

浏览https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-preview-relnotes#--visual-studio-2017-version-158-preview-4上的预览发行说明后,我找到了这个解决方案.(向下滚动到"......新功能......"然后再转到.NET Test Adapter Extension).它提到了这个突破性的变化(虽然它没有打破我的其他项目),但没有提到实际做什么来解决问题.

当然,长期来看,保持这种选择不受限制似乎不可行.所以我正在寻找如何进行的指导.

我已经试着看看我是否可以"快速"升级到MSTest v2,但是因为找不到System.Runtime 4.1.2而出现了问题.我尝试通过NuGet添加System.Runtime 4.3.0,但这并没有解决问题.

Cal*_*tor 5

我在运行Xamarin.UITests时遇到了类似的问题,并通过在Visual Studio中安装“ NUnit 2测试适配器”扩展程序解决了该问题。在Visual Studio 2017中,您可以从工具>>扩展和更新...>联机>搜索“ NUnit适配器”中执行此操作>单击NUnit 2测试适配器,然后单击下载按钮进行安装。当提示您完成安装时,请重新启动Visual Studio。

  • 更加清楚。将NUnit适配器2安装为插件。工具->扩展和更新->搜索NUnit适配器->安装并重新启动Visual Studio。 (2认同)

小智 3

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll了解该项目中如何引用MSTest V1 框架程序集 ( ) 将会很有趣。上图中最终被禁用的兼容性复选框应确保该项目具有 MSTestV1 测试并启用运行测试。如果不是,则由于某种原因,检测逻辑被破坏并需要修复 - 有关如何引用程序集的代码片段将很有帮助。

至于迁移到 MSTest V2,此博客应该有所帮助:https ://blogs.msdn.microsoft.com/devops/2016/06/17/take-the-mstest-framework-forward-with-mstest-v2/ 。对于您似乎遇到的具体问题,存储库上的这个 github 问题听起来很相似: https: //github.com/Microsoft/testfx/issues/184