自从我安装了VS 2017之后,我一直在与它作斗争。现在看来,单元测试只能从命令行"dotnet test."运行。
我的项目是.NET核心1.1.1。我安装了SDK和1.1.1的框架更新。
我尝试了MSDN上的样本(https://msdn.microsoft.com/en-us/library/ms182532.aspx),也是以同样的方式失败。
所有用于测试和主项目的NuGet包都是最新的。而且测试项目和主项目的构建都没有错误。测试在命令行中成功运行。
有谁能让单元测试在VS 2017中运行,如果有的话,是如何做到的?
谢谢。 庄
这里有一个简单的测试项目的例子,它在GitHub上没有工作。这是一个使用xUnit的例子,但我也试过NUnit和visual studio内置的MS测试。无论我做什么测试或修改,都不能让VS测试运行器找到任何测试。
DEL %TEMP%\VisualStudioTestExplorerExtensions
。Microsoft.DotNet.InternalAbstractions
(见SO帖子)。test -> test settings -> default processor architecture
被设置为x86问题 谁能提供一个VS2017中.Net Core 1.1.0解决方案的工作实例(.csproj项目文件),其中VS测试资源管理器成功找到单元测试或向我展示所给实例中的问题。
问题是,Visual Studio对机器上的dotnet core版本感到困惑。当我进入控制面板->卸载程序时,我有8个不同的dotnet core SDK's和Runtimes安装。这在某种程度上导致VS在试图寻找测试时默默地出现错误。
你可以通过在命令行中获取dotnet的版本$ dotnet --version
来验证这个问题。如果你看到除了你所安装的最新版本以外的任何东西,那么你的机器有一些不匹配,没有使用正确的版本。例如......如果你安装了dotnet core 1.0.1
,但当你在命令提示符下获得版本时,它显示1.0.0
,这就是一个问题。
删除所有的旧东西。我开始只删除我认为需要删除的东西(最老的dotnet rc版本),但在测试这个问题时,它仍然给出了错误的版本。最后,我承认要做一次全面的清理。I...
在我的机器上完全没有所有的VS和donet之后,我只安装了*VS2017(它与最新的dotnet打包在一起)。我创建了一个xUnit测试项目,测试资源管理器立即找到了测试 解决了**。
这可能看起来有些矫枉过正,但我花了两周时间试图通过其他方式来解决这个问题。如果你有这个问题,就去做吧,即使你可能要花几个小时来卸载/重新安装项目,它可能会节省你的时间。