编辑 2016-10-19:
原问题是关于在VS2015 CTP6中使用XUnit测试运行器的一个特定问题。从答案中可以明显看出,在Visual Studio中单元测试发现存在更广泛的问题,这可能会出现在许多不同的情况下。我已经整理了我的问题来反映这一点。
我还在自己的答案中包含了一个脚本,我仍然在使用这个脚本来解决类似的问题。
许多其他答案也证明有助于更好地理解VS测试运行器的细节。我很感激人们仍然分享他们的解决方案!
原问题2015-04-10:
从昨天开始,我的Visual Studio Test Explorer不能为我的任何项目发现测试。构建后没有显示绿色的加载条。
当我转到Visual Studio Test Explorer并点击“运行全部”,或者右键单击任何测试方法并选择“运行测试”时,我的输出窗口会出现以下信息:
Could not load file or assembly 'Microsoft.VisualStudio.Web.ProjectSystem, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
我在Windows 10 Pro技术预览版build 10041上运行Visual Studio 2015 CTP 6。.NET Framework版本似乎并不重要——它会在4.0
,4.5.2
和4.6
上发生。
我尝试了以下测试框架,它们都给出了相同的行为:
Microsoft.VisualStudio.QualityTools.UnitTestFramework v14.0.22609.0
xunit v2.1.0-beta1-build2945
与xunit.runner.visualstudio v2.1.0-beta1-build1051
NUnit v2.6.4
与NUnitTestAdapter v2.0.0
我尝试了他们建议的删除文件夹请注意,许多人报告 Visual Studio 2015 CTP 5 在单位测试方面出现问题(不仅是 xUnit.net),因此不要指望它能正常工作。
此外,请确保您已清空了 Visual Studio 的运行程序缓存。如果它被破坏了,Visual Studio 将会一直表现不良,直到删除为止。要清除缓存,请关闭所有 Visual Studio 实例,然后删除文件夹 %TEMP%\VisualStudioTestExplorerExtensions (实际上,可能要删除 %TEMP% 中可以删除的所有内容)。
%TEMP%\VisualStudioTestExplorerExtensions
。不幸的是,这没有解决问题。我注意到 ReSharper 实际上可以发现一些测试。 它只适用于VS和NUnit测试,而不适用于xunit。
必须有某种临时或缓存文件夹需要清除,但我知道 Visual Studio 有很多这样的文件夹,并且不是所有文件夹都可以删除而不会产生不良副作用。