编辑2016-10-19:
最初的问题是关于 XUnit 测试运行程序特定于 VS2015CTP6的问题。从答案中可以清楚地看出,Visual Studio 中的单元测试发现存在一个更广泛的问题,这个问题可能在许多不同的情况下出现。我已经澄清了我的问题来反映这一点。
我还在自己的答案中加入了一个脚本,直到今天,当类似的问题出现时,我仍然使用它来解决它们。
许多其他的答案也被证明有助于更好地理解 VS 测试运行程序的复杂性。我很感激人们仍然在分享他们的解决方案!
原问题2015-04-10:
从昨天开始,我的 VisualStudio 测试资源管理器将不会发现任何项目的测试。它也没有显示建成后的绿色装载栏。
当我进入 Visual Studio Test Explorer 并单击“ Run All”,或者当我右键单击任何测试方法并选择“ Run Test”时,我会在输出窗口中看到以下内容:
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.
我在 Windows10专业技术预览版上运行 VisualStudio2015CTP6,构建10041。那个。NET 框架的版本似乎并不重要-它发生在 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
我在 GitHub (xunit)上发现了一个类似的问题: 无法发现测试 # 295,来自 xunit 团队的评论如下:
请注意,VisualStudio2015CTP5已被报告为中断 很多人通常都进行单元测试(不仅仅是 xUnit.net) ,所以 别指望能成功。
另外,请确保您已经清除了 VisualStudio 的跑步者 如果它被损坏,VisualStudio 将永久性地不正常行为 若要清除缓存,请关闭 VisualStudio,然后删除该文件夹 % TEMP% VisualStudioTestExplorerExtended (老实说,它可能 删除% TEMP% 中可以删除的所有内容不会有什么坏处)。
我尝试了他们的建议,删除文件夹 %TEMP%\VisualStudioTestExplorerExtensions
。不幸的是,没有解决这个问题。
我注意到 ReSharper 实际上能够发现一些测试。它只适用于 VS 和 NUnit 测试,不适用于 xunit。
必须有某种类型的临时或缓存文件夹,我需要清除,但我知道 Visual Studio 有许多这样的文件夹,并不是所有的都可以删除,没有不必要的副作用。