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

问题描述 投票:32回答:3

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

禁用下面显示的选项使一切正常:Screen shot of Visual Studio 2017 Options, Test setting.

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

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

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

visual-studio-2017 mstest
3个回答
4
投票

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


1
投票

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

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


0
投票

“......但由于无法找到System.Runtime 4.1.2,因此存在问题。”

我认为这是app.config中的一个设置,在更新项目设置时不会更新。我在packages文件夹下搜索了System.Runtime,然后更改了我的app.config以匹配我找到的内容,然后该特定问题就消失了。

© www.soinside.com 2019 - 2024. All rights reserved.