相关疑难解决方法(0)

为什么Visual Studio 2015/2017 Test Runner没有发现我的xUnit v2测试

更新:添加2017年; VS2017使用与2015年相同的测试发现/运行器集成机制,因此可能出错的关键事项是相同的.


我已经阅读了为什么xUnit运行器没有找到我的测试,这涵盖了xUnit 永远无法找到你的测试但我的问题不同的原因 - 我相信我的测试没有任何微妙的变化; (他们在其他环境中工作过,这似乎只是我的机器) - Visual Studio 2015中的Visual Studio Test Runner [社区版]根本没有显示我的任何测试.我没有做任何令人兴奋的事情; 测试针对桌面上的xUnit.net v2.

我查看了"输出"窗口,在" 显示"选项卡的"输出"中的" 测试"下看不到任何内容.

.net unit-testing visual-studio visual-studio-2015 xunit2

159
推荐指数
13
解决办法
14万
查看次数

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万
查看次数

VS 2017没有发现.NET Core上的测试

谁能帮助我让VS2017与.NET Core测试项目一起工作?

我尝试从VS 2017模板为.NET Core创建MSTest和xUnit单元测试项目.它们都不适用于测试资源管理器(未发现),但从dotnet test项目文件夹运行可以正常工作.

重现步骤:

  1. 在VS 2017中创建新项目
  2. 选择Unit Test Project (.NET Core)xUnit Test Project (.NET Core)模板
  3. 实施一些任意的单元测试
  4. 构建解决方案
  5. 转到文本资源管理器并尝试 Run All

此时,"输出"窗口应该告诉您已发现0测试

.csproj 文件:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
    <PackageReference Include="xunit" Version="2.2.0" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
  </ItemGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

如果我尝试从面向.NET Framework的模板(完整版,而不是.NET Core)创建MSTest单元测试项目,那么它可以工作.

有任何想法吗?

unit-testing test-explorer .net-core visual-studio-2017

19
推荐指数
3
解决办法
8800
查看次数

xunit.runner.visualstudio不适用于Visual Studio

我做了这样的nuget安装:

Install-Package xunit.runner.visualstudio -Version 2.2.0
Run Code Online (Sandbox Code Playgroud)

在我的测试项目上.

我有一个类似的测试:

public class When_Doing_Stuff_I_Want_To_Test
{

    [Fact]
    public void Can_Do_Stuff()
    {
        var result = DoStuff();

        result.ShouldNotBeNull();
        result.Success.ShouldBeTrue();
    }
}
Run Code Online (Sandbox Code Playgroud)

虽然我已经做了很多VS重启,笔记本电脑重新启动,中间休息一天,VS 2017仍然无法发现我的测试:在此输入图像描述

我该怎么做才能解决这个问题并看看我的测试?

附录

我在4.6.1下工作,所以还没有Core.

关于相同主题的问题没有帮助:

所以有很多回合,没有一个帮助......

更新

我也无法使NUnit工作,也不会出现在测试资源管理器中.

更新2

我擦了我的项目并重新创建了这样的项目:

在此输入图像描述

然后我复制了我的原始代码并添加了所有必要的参考,没有区别.

c# unit-testing xunit visual-studio-2017

10
推荐指数
1
解决办法
3664
查看次数

没有测试发现 - 在调试/运行单元测试用例时 - Visual Studio 2017 15.5.1

错误:没有运行测试 - 在调试/运行C#单元测试用例时 - Visual Studio 2017 15.5.1没有发现测试用例.

框架Microsoft.NET框架4.6.1

添加了测试适配器,如下所示:MSTest.TestAdapter.1.2.0 MSTest.TestFramework.1.2.0

测试资源管理器没有显示测试用例.

这在视觉工作室升级后开始发生.某些单元测试项目测试用例在测试资源管理器中未被发现.当尝试调试或运行它时说"没有发现测试运行".

我尝试删除项目并重新创建它..但没有奏效.

输出[4/3/2018 2:59:25 PM信息]未发现任何测试运行.

更新

我已将VS更新到15.6.4删除VS测试缓存文件DEL%TEMP%\ VisualStudioTestExplorerExtensions重新启动Visual Studio

测试用例被发现但没有调试

testing unit-testing mstest visual-studio

7
推荐指数
3
解决办法
1万
查看次数

Visual Studio 2017 + .Net Core 2测试不可执行

我正在尝试为私人项目设置一些单元测试.由于我不介意确切的跑步者,我尝试了NUnit,XUnit和MStest,但到目前为止都没有.

经过一些研究,我在这里克隆了官方的Microsoft存储库:https://github.com/dotnet/docs/blob/master/samples/core/getting-started/unit-testing-using-nunit/PrimeService.Tests/PrimeService_IsPrimeShould. cs 但是这些测试也不能执行.这样做时,我在输出中收到以下错误:

System.ArgumentException:路径中的非法字符.在System.IO.Path.CheckInvalidPathChars(String path,Boolean checkAdditional)at System.IO.Path.Combine(String path1,String path2)at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Helpers.DotnetHostHelper.TryGetExecutablePath(String executableBaseName,String&executablePath) )在Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Helpers.DotnetHostHelper.GetDotnetPath()在Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Hosting.DotnetTestHostManager.GetTestHostProcessStartInfo(IEnumerable的1 sources, IDictionary2个environmentVariables,TestRunnerConnectionInfo connectionInfo)在Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client. Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyDiscoveryManager.DiscoverTests(DiscoveryCriteria discoveryCriteria,ITestDiscoveryEventsHandler2 eventHandler)中的ProxyOperationManager.SetupChannel(IEnumerable`1 sources,CancellationToken cancellationToken)

我还检查了几个SO答案,例如在Visual Studio 2017中未发现的单元测试如何在Visual Studio 2017 中运行NUnit测试?,但没有一个解决了这个问题.

我的Visual Studio 2017版本目前是15.6.0,我也在使用ReSharper.这似乎是一个当地的环境问题,遗憾的是,我没有找到任何有关该问题的提示.有谁有想法,这个问题怎么解决?

c# visual-studio visual-studio-2017

5
推荐指数
2
解决办法
759
查看次数