自从我安装VS 2017以来,我一直在与它斗争。现在,单元测试似乎只能从命令行“dotnet test”运行。

我的项目是。net Core 1.1.1。我已经安装了SDK和1.1.1的框架更新。

我在MSDN (https://msdn.microsoft.com/en-us/library/ms182532.aspx)上尝试了样本,也失败了。

所有用于测试和主项目的NuGet包都是最新的。测试项目和主项目的构建都没有错误。测试从命令行成功运行。

有人让单元测试在VS 2017中运行吗?如果是的话,是怎么做的?

谢谢, 约翰


更新-扩展

下面是一个简单的测试项目的例子,它不能在GitHub上运行。这是一个xUnit的例子,但我已经尝试了在MS测试中内置的NUnit和visual studio。无论我做了什么测试或做了什么更改,我都无法让VS测试运行器找到任何测试。

我的努力

删除VS测试缓存文件DEL %TEMP%\VisualStudioTestExplorerExtensions 重新启动和 关闭/打开测试资源管理器 为xUnit安装Microsoft.DotNet.InternalAbstractions(见SO post) 对于NUnit,确保适配器安装和NUnit包相同的版本(3) Test -> Test Settings ->默认处理器架构设置为x86

这个问题 谁能提供一个VS2017中。net Core 1.1.0解决方案的工作示例?csproj项目文件),其中VS测试资源管理器成功找到单元测试或在给出的例子中显示问题。


当前回答

不要阅读MSDN. net下的过期文章,核心相关资料在learn.microsoft.com下

https://learn.microsoft.com/en-us/dotnet/articles/core/testing/

一般来说,你需要一个。net Core控制台应用程序来包含单元测试用例。

其他回答

不要阅读MSDN. net下的过期文章,核心相关资料在learn.microsoft.com下

https://learn.microsoft.com/en-us/dotnet/articles/core/testing/

一般来说,你需要一个。net Core控制台应用程序来包含单元测试用例。

在我的案例中,是解决方案中的UWP项目导致了这个问题。

当我卸载UWP项目时,发现了测试。当我加载回来,测试再次消失。

尝试卸载所有项目,只保留测试项目。十个重建方案和测试应该出现在测试运行器。逐个加载项目,并每次重新构建解决方案,以找出导致问题的项目

样本回购

VS bug报告

首先,我尝试使用MSTest。之后,我把它改为Nunit测试。然后我想支持MSTest。我删除了所有的nUnit代码和引用,但是测试资源管理器没有显示MSTest方法。解决方案:我删除了所有mstest nuget引用并重新安装。完成了。

我什么都试过了,但都没用。以我为例,我有几个测试项目的解决方案,其中一些使用了旧的ms-test框架,所以Visual Studio只找到了那些。

如回答中所示,我为所有测试项目安装了测试框架包,然后删除了对旧质量工具的引用,重新启动Visual Studio,现在我可以看到所有测试了。

确保你的测试类和方法不是静态的。