相关疑难解决方法(0)

Visual Studio 2015或2017不会发现单元测试

编辑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 Technical Preview上运行Visual Studio 2015 CTP 6,构建10041. .NET Framework版本似乎并不重要 - 它发生在4.0,4.5.24.6.

我尝试使用以下测试框架,所有这些都给出了相同的行为:

  • Microsoft.VisualStudio.QualityTools.UnitTestFramework v14.0.22609.0
  • xunit v2.1.0-beta1-build2945xunit.runner.visualstudio v2.1.0-beta1-build1051
  • NUnit v2.6.4NUnitTestAdapter v2.0.0

我在GitHub(xunit)上发现了一个类似的问题:无法通过xunit团队的评论发现测试#295:

请注意,据报道,Visual Studio 2015 CTP 5被一般的单元测试(不仅仅是xUnit.net)打破了,所以不要指望它可以工作.

此外,请确保您已清理Visual …

unit-testing xunit test-runner visual-studio-2015 visual-studio-2017

158
推荐指数
13
解决办法
11万
查看次数

Visual Studio 2013不会发现单元测试

我在visual studio 2013中有一个简单的解决方案,它由一个Web项目,一个库项目和一个单元测试项目组成.当我打开解决方案并尝试运行单元测试时,它们不会被visual studio发现.要运行测试,我尝试进入菜单并选择测试 - >运行 - >运行所有测试或打开测试资源管理器窗口.通过那些方法,visual studio不会在解决方案中发现任何测试.

首先创建一个简单的单元测试项目并尝试运行测试,visual studio知道发现测试并且我可以运行它.然后,如果我打开我以前的解决方案,visual studio现在会发现所有的测试.我尝试保存我的解决方案,但关闭它并重新打开,而不首先创建单元测试项目,visual studio没有再次找到测试.这是一个非常奇怪的行为,我不知道为什么会发生这种情况.

我曾经独自在这个项目中工作,该项目使用了与visual studio团队基础集成的源代码控制git.当一个新元素进入项目并且我需要通过在线源控件重新创建解决方案时,visual studio不会发现单元测试的问题就开始了.在此之前,所有测试总是由visual studio发现.

为了创建单元测试,我使用了dll Microsoft.VisualStudio.QualityTools.UnitTestFramework.我的Visual Studio版本是:Microsoft Visual Studio Express 2013 for Web Version 12.0.30723.00 Update 3.我的.net框架版本是4.5.50938.

我的所有测试都是这样的:

[TestClass] 
public class Service1Test 
{ 
    [TestMethod] 
    public void Test1() 
    {
        Assert.IsTrue(True); 
    } 
}
Run Code Online (Sandbox Code Playgroud)

.net c# unit-testing visual-studio visual-studio-2013

146
推荐指数
7
解决办法
9万
查看次数