如何在 Gitlab CI 中捕获结构化 xUnit 测试输出?

2024-03-24

我正在 Gitlab CI 上的 .NET Core 代码库上运行自动化测试。这些测试的唯一输出是控制台,其中包含大量垃圾,并且很难准确看出哪些测试失败了。

有没有一种方法可以从 xUnit 获取结构化测试输出,以便 Gitlab 可以处理文件并显示特定测试的结果,就像它可以使用的方式一样JUnit https://docs.gitlab.com/ee/ci/junit_test_reports.html?


首先,添加JUnit测试记录器 https://www.nuget.org/packages/JUnitTestLogger/nuget 包到您的测试项目:

dotnet add package JUnitTestLogger

接下来,修改您的测试命令:

dotnet test --logger "junit;LogFileName=MyProject.xml"

最后,修改你的.gitlab-ci.yml文件指定输出路径:

test:
  ...
  artifacts:
    reports:
      junit: ./MyProject.xml
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Gitlab CI 中捕获结构化 xUnit 测试输出? 的相关文章

  • 使用 gitlab runner 安装 hostpah 卷的正确方法是什么?

    我需要创建一个卷来公开 maven m2 文件夹 以便在我的所有项目中重用 但我根本无法做到这一点 我的 gitlab 运行程序作为容器在我的 kubernetes 集群中运行 遵循部署和配置图 apiVersion extensions
  • .NET core 使用 Xunit + Autofixture + Moq 编写更好的单元测试

    在 NET Core 中进行单元测试 我使用 Xunit Moq 和 Autofixture 但即使有了它们 我发现我的单元测试变得复杂并且需要时间 也许有人可以告诉我是否有任何方法可以缩小这个测试的规模 Fact public async
  • 使用 XUnit 和 ASP.NET Core 1.0 进行依赖注入

    我正在尝试弄清楚如何使用 XUnit 进行依赖注入 我的目标是能够将我的 ProductRepository 注入到我的测试类中 这是我正在尝试的代码 public class DatabaseFixture IDisposable pri
  • 如何触发gitlab中的特定作业

    我想在管道中运行特定的作业 我认为为该作业分配一个标签 然后在 post 方法中再次指定该标签将满足我的需求 问题是当我使用 api post 触发时 所有作业尽管只有其中一个已标记 但管道中会触发事件 gitlab ci yml 工作1
  • 使用 docker-compose 将 Gitlab CI/CD 转至 Digital Ocean 以实现多个存储库

    目前我在 Gitlab 中有一个项目 repo 它是一个角度应用程序 我使用 Gitlab CI CD 来构建 测试 发布和部署 发布将构建一个新的 docker 镜像 将其推送到 Gitlab 注册表 然后将其部署到我的 Digital
  • 仅当在构建服务器上运行时单元测试才会失败

    为了帮助单元测试 我们已经完成了DateTime委托中的类 以便DateTime Now可以在单元测试中被覆盖 public static class SystemTime region Static Fields public stati
  • Xunit 以下构造函数参数没有匹配的夹具数据

    在使用 XUnit for NET 1 0 框架 net46 时 我不断收到此错误 以下构造函数参数没有匹配的夹具数据 我看过这个帖子 收集装置不会注入 https stackoverflow com questions 32319903
  • GitLab CI 启用 SCP

    我目前正在使用 GitLab com 上的共享运行器之一 是否可以设置 gitlab ci yaml 文件 以便构建可以将 SCP 文件从远程服务器传输到运行器上 我的目标是 SCP 文件 这些文件是我的构建所必需的依赖项 但它们不会在任何
  • 无法推送到 Gitlab 注册表 | Quarkus - 臂架构建

    我目前正在开发 Quarkus 应用程序 因此需要 CI 管道 容器注册表 由于通过 docker 的容器化不起作用 docker 守护进程 特权模式 我想使用 Jib Quarkus 已经支持它 管道中的命令 mvn clean pack
  • 如何将 GitLab CI 文件变量传递给 Dockerfile 和 docker 容器?

    GitLab CI 允许向项目添加自定义变量 它允许使用类型的秘密变量file我指定的键是变量名称 值是文件的内容 例如证书的内容 然后在管道执行期间 内容将被保存为临时文件 调用变量名称将返回创建文件的路径 最终我需要将此文件复制到构建项
  • kubectl 从 gitlab 未经授权拉取镜像:HTTP Basic:访问被拒绝

    我正在尝试配置 gitlab ci 以将应用程序部署到谷歌计算引擎 我已成功将映像推送到 gitlab 存储库 但在应用 kubernetes 部署配置后 我在 kubectl 描述 pod 中看到以下错误 Failed to pull i
  • 在 WebDriver 方法中获取 Specflow 标签

    我正在使用 C selenium 和 Specflow 运行自动化测试套件 如果可能的话 我希望能够查看分配给当前场景的标签 以便我可以为每个场景实例化某种浏览器类型 使用 XUnit 是否可以实现这一点 登录功能文件 Feature Lo
  • Gitlab-CI,按计划运行,但仅在有更改时运行

    我想每天部署一次我的项目 但前提是发生了更改 我可以在每个特定的时间进行部署 并且我很乐意使用预定的管道来触发和部署 但是 并不总是存在需要部署的更改 理想情况下 如果自上次部署以来代码库没有发生任何更改 则管道当天不会运行 有什么办法可以
  • 如何在 gitlab CI 中检测编译器警告

    在我们的 gitlab 服务器上设置 CI 构建的步骤中 我似乎找不到有关如何设置编译器警告检测的信息 构建输出示例 100 Building CXX object somefile cpp o home gitlab runner bui
  • 在构建 Docker 镜像之前如何对 GitLab 的容器注册表进行身份验证?

    我有一个私有的 GitLab 项目 其中包含用于构建和推送 Docker 映像的管道 因此我必须首先向 GitLab 的 Docker 注册表进行身份验证 Research I read 使用 GitLab CI CD 对容器注册表进行身份
  • Gitlab:无法识别对等方的证书颁发者

    我在全新安装 gitlab 时遇到此错误 该消息如下所示 fatal unable to access https gitlab ci token email protected cdn cgi l email protection som
  • 将 asp.net 5 测试放在单独的程序集中

    我使用 Microsoft AspNet TestHost 来托管 xunit 集成测试 只要测试与 asp net 5 solution 位于同一项目中 一切都会正常进行 但我想将测试放入单独的程序集中 将它们与解决方案分开 但是 当我尝
  • exec:“pwsh”:在%PATH%中找不到可执行文件

    我一直在尝试在 gitlab CI CD 上启动我的管道以进行演示项目 我已在 Windows 本地计算机中安装了 gitlab runner 并将执行程序类型指定为 Shell 我已经成功地将 gitlab runner 与我的 gitl
  • 在 GitLab CI 中使用合并请求作业中的工件

    在我的项目中 我使用合并请求来测试构建 并在提交合并到主版本后进行部署 目前我的 gitlab ci yml好像 build stage build script yarn build artifacts paths public depl
  • Gitlab CI - 如何启动 Shared Runner

    我是 Gitlab CI 的新手 我已经配置了 gitlab ci yml 文件 并使用 CI Lint 它已经通过了验证过程 基于此文档 https gitlab com help ci quick start README 我可以看到应

随机推荐

  • C 中的 sizeof(array):分段错误 [重复]

    这个问题在这里已经有答案了 嗨 我从这段代码中得到了一个奇怪的分段错误 int main void int array1 10000000 int n sizeof array1 printf d n n return 0 但是如果我改变
  • 数据绑定编译器错误:“无法解析 SafeVarargs 的类型”

    我已经尝试让 Android 数据绑定正常工作两天了 编译器问题接二连三地出现 现在我完全碰壁了 我用谷歌搜索了这个 但没有找到任何东西 这是完整的日志 java lang RuntimeException failure see logs
  • Visual Studio 2015 调用堆栈显示

    最近在我的计算机上全新安装了 Windows 10 Pro 后 我注意到每当我中断程序并打开调用堆栈时 调用堆栈都会显示应用程序名称和行号 但函数名称显示为
  • 寻找 2 个以上整数的 GCD(最大公约数)?

    我已经有一个函数可以找到 2 个数字的 GCD function getGCDBetween a b while b 0 m a b a b b m return a 但现在 我想扩展这个函数来找到 N 点的 GCD 有什么建议吗 有一种更
  • 概述 div 和图像

    我正在开发我的作品集网站 但遇到了问题 一旦我想要多层 你必须看到才能理解这一点 它们的排列完全不同 我对图像使用了相同的像素大小 重要提示 我只能对图像和内容周围的 div 使用像素 因为我需要使用 media 来更改我手机的页面 所以我
  • 使用自定义 url_path 在 @list_route 上反向

    如果我有一个包含以下代码的视图集 class ExtraRouteViewset viewsets GenericViewSet list route methods get def somefunction self request re
  • 函数内相加后结果不正确

    我有一个 java 程序没有返回正确的答案 我不明白为什么 这是代码 public class hello public static void main String args int a 5 doubleNumbers a System
  • PLSQL 错误 - ORA-00984:此处不允许列

    我写了一个 PL SQL 块 DECLARE SchemaName VARCHAR2 50 REQ SUNIL 5750 userpassword VARCHAR2 50 XYZ stmt VARCHAR2 5000 BEGIN stmt
  • Perl 的哪个版本引入了 try/catch?

    我知道 Perl 最近得到了try catch 附带的 Perl 版本是什么 最被忽视的预实验 https perldoc perl org perlexperiment页面列出了添加的功能以及 有时 后来从实验类别中毕业的功能 您还可以查
  • 如何将两个 AngularJS 应用程序合并为一个主应用程序的模块?

    另一个基本的 AngularJS 问题 我有两个 AngularJS 应用程序 slider js 角度用户界面 json js Here s slider js作为一个笨蛋 http plnkr co edit zySArHvqZgJHH
  • SVN 并重命名其运行的服务器

    我运行 VisualSVN 作为我的 SVN 服务器并使用 TortoiseSVN 作为客户端 我刚刚将服务器从 mach1 重命名为 mach2 现在无法使用 SVN 因为它正在寻找以下位置的存储库http mach1 81 http m
  • 概率密度函数 numpy 直方图/scipy stats

    我们有数组a range 10 Using numpy histogram hist bins numpy histogram a bins np max a np min a 1 range np min a np max a densi
  • Google Chrome 开发者工具中的自定义堆栈跟踪?

    我希望自定义 Google Chrome 开发人员工具 脚本 选项卡中 strack 跟踪面板中显示的项目 具体来说 我想过滤掉堆栈跟踪中的项目 并向堆栈跟踪中的某些项目添加更多描述性名称 而不必重命名我的对象和函数 我在以下位置找到了 V
  • 关闭 VTK 窗口 (Python)

    考虑以下脚本 import vtk ren vtk vtkRenderer renWin vtk vtkRenderWindow renWin AddRenderer ren iren vtk vtkRenderWindowInteract
  • Linux内核如何中断应用程序?

    首先 我是一名设备驱动程序人员 这是我第一次处理用户模式程序 我曾经有一个中断服务程序来响应硬件中断 换句话说 硬件使用中断服务程序来通知驱动程序进行服务 我现在使用 ioctl 作为应用程序和设备驱动程序之间通信的通道 并轮询它以等待响应
  • 清单中的飞行模式接收器?

    我正在开发一个 Android 应用程序 该应用程序将在工业环境中用作手持控制器 为了让平板电脑不太适合带回家 我本来打算一直尝试以编程方式打开飞行模式 但这在 4 2 中已被弃用 这也是我们为了拥有 Android Open Access
  • 如何在远程机器上运行本地python脚本

    我的本地计算机上有一个 python 脚本 有什么方法可以在远程计算机上运行此脚本 我的意思是 python 脚本应该在本地计算机上 但执行应该发生在远程计算机上并将输出返回到本地计算机 The pathos软件包中的工具可以让您轻松地与远
  • 如何根据具有相对位置的共享库构建nodejs C++插件

    我正在尝试使用构建一个node js C node gyp但不知道如何指定 Wl rpath ORIGIN这样当从节点加载时 它可以找到与以下目录位于同一目录中的共享对象库addon node 我尝试过设置我的binding gyp像这样
  • 删除 div 元素之间的“空白”

    这是我的 HTML 代码 div div div div div div div br div div div div div div div My CSS div1 width 150px height 100px white space
  • 如何在 Gitlab CI 中捕获结构化 xUnit 测试输出?

    我正在 Gitlab CI 上的 NET Core 代码库上运行自动化测试 这些测试的唯一输出是控制台 其中包含大量垃圾 并且很难准确看出哪些测试失败了 有没有一种方法可以从 xUnit 获取结构化测试输出 以便 Gitlab 可以处理文件