当前位置: 首页 > 知识库问答 >
问题:

为什么Visual Studio2015/2017/2019测试运行程序没有发现我的xUnit v2测试

车峻熙
2023-03-14

更新:添加2019;发现/运行程序集成机制与2017年相同

我已经读过为什么xUnit跑步者找不到我的测试,这涵盖了xUnit永远找不到你的测试的原因,但我的问题不同——我相信我的测试没有任何微妙之处;(他们在其他环境中工作过,这似乎只是我的机器)——Visual Studio 2015[Community Edition]中的Visual Studio测试运行程序根本没有显示我的任何测试。我没有做任何令人激动的事;测试的目标是xUnit。net v2在桌面上运行。

我在输出窗口中查看,在从选项卡显示输出的测试下根本看不到任何内容。

共有3个答案

湛博易
2023-03-14

上述解决方案都不适用于我(dotnetcore 1.1,VS2017)。以下是修复它的方法

  1. 添加NuGet软件包Microsoft。测试平台。测试主机
  2. 添加NuGet软件包Microsoft。网测验Sdk

这些是我之前安装的这些软件包的补充:

  • xUnit(2.3.0-beta1-build 3642)
  • xunit.runner.visualstudio(2.3.0-beta1-build 1309)
刘辰钊
2023-03-14

在将测试项目CPU更改为x64之后,我不得不更改测试设置。然后,再次进行检测。

张高义
2023-03-14

>

测试|测试设置|如果您的测试是x86/x64特定的,并且发现触发了与比特度相关的异常,即不是AnyCpu,默认处理器架构会有所帮助

正如本回答中所建议的(如果技术有帮助,请向上投票),运行桌面控制台运行程序(说明)可以很好地进行交叉检查,以消除其他可能性,例如损坏的配置文件:-

包\xunit.runner.console.2.2.0\工具\xunit.console

注意:xunit.runner.console包是不建议使用的-当您在VS中工作时,您将能够让dotnet test在CI上下文中运行它们

请阅读文档-文档内容全面、最新,包括故障排除信息和PRs:-

重要提示:如果您以前安装过xUnit.netVisual Studio Runner VSIX(扩展),必须先卸载它。Visual Studio运行程序现在仅通过NuGet分发。要删除它,请转到工具

如果您在发现或运行测试时遇到问题,您可能是Visual Studio中运行程序缓存损坏的受害者。要清除此缓存,请关闭Visual Studio的所有实例,然后删除文件夹%TEMP%\VisualStudioTestExplorerExrah。还请确保您的项目仅链接到Visual Studio运行程序NuGet包的单个版本(xunit.runner.visualstudio)。

以下步骤对我很有效:

>

  • (只有当你怀疑你的机器上有严重的混乱时——一般来说,更常见的情况是visual studio集成还没有安装。)

    按照建议执行DEL%TEMP%\VisualStudioTestExplorerExtrade:-

    PS

    在所有测试项目中安装NuGet包xunit.runner.visualstudio

    >

  • 帕克特:

    .paket\paket add nuget xunit.runner.visualstudio -i
    

    你需要在paket中完成以下内容。依赖项

    nuget xunit。跑步者visualstudio版本路径:true

    注意路径中的version\u:true位很重要

    Nuget:转到Package Manager控制台(Alt-T、N、O)并

    Install-Package xunit.runner.visualstudio)
    

    重建以确保xunit。runner在输出目录中结束

    关闭测试浏览器

    重新打开测试资源管理器(Alt-S、W、T)

    运行所有测试(Ctrl R,A)

  •  类似资料:
    • 我在VS2019中看到一些非常奇怪的NUnit测试行为,而同样的解决方案在VS2017中运行良好。我的解决方案中有几个NUnit测试项目。 在安装了NUnit Runner扩展的VS2017中,我可以在测试资源管理器窗口中看到我的所有测试,并且“run all”按钮将工作并运行所有测试。我的组织中的一些开发人员使用Resharper而不是NUnit扩展,这也可以工作。 我已经停止使用Resharp

    • 问题内容: 发生了最奇怪的事情,我的测试运行正常,但现在不再,我完全没有更改代码,这里是一个例外: 问题答案: 我看到您正在使用Eclipse,但您是否还在使用其他外部构建/测试工具,例如Ant或Maven?有时,在同时使用其他外部工具时,Eclipse可能会不同步。 如果使用外部工具,请执行清理生成的工件所需的所有操作(例如mvn clean)。然后刷新Eclipse项目并按照前面的建议进行干净

    • 我使用surefire和failsafe分别执行单元测试和集成测试。所有测试都位于文件夹中。到目前为止,我有一个集成测试类,其测试方法(用@test注释)在所有单元测试运行时从不执行。这是我的pom的摘录。xml: 我使用maven目标来运行测试。

    • 我正在尝试将一个梅文Spring靴(2.3.12)应用程序从JUnit4转换为JUnit5。我已经阅读了很多关于如何做到这一点的不同帖子。 我能够在Eclipse中执行我的JUnit5测试。 我的问题是我无法让Maven Surefire执行我的JUnit5测试。我尝试了各种配置变体。当它到达Surefire步骤时,它只执行我以前的JUnit4测试,并且简单地忽略任何JUnit5测试。我已经验证了

    • 我有一个用Maven建立的Java项目,我正在用Cucumber和jUnit进行测试。 也许我遗漏了一些东西,但是有没有一种方法可以设置Cucumber测试运行程序来自动运行jUnit测试以及Cucumber特性?不必运行两个单独的测试套件,并使用自动测试所有内容,这将是一件非常棒的事情。 目前,当我指定时,它只查找文件并忽略所有其他测试。 以下是我的测试文件结构: 还有我的测试运行程序,它目前只

    • Resharper 2016.3在VS2017我的ASP.Net核心项目中看不到基于xUnit的单元测试。 如果我从Resharper菜单中“运行所有测试”,它将找不到任何测试。此外,属性旁边没有“圆圈”图标。但是内置的VS测试运行程序可以成功地找到并执行所有测试。我是否遗漏了一些东西,或者Resharper单元测试支持在VS2017中还不起作用?