CodeBuild 不报告失败的测试

2024-04-13

我正在使用 CodeBuild 构建我的 NPM 项目。我的构建规范中有一个特定的报告组,并且我正在使用 Jest 和npm test命令。

当所有测试通过后,将成功报告给 CodeBuild 报告组。但是,如果其中一项测试失败,我会收到错误消息:

[Container] 2020/08/24 01:41:18 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: npm test -- --silent. Reason: exit status 1`

构建停止(总体来说没问题),但未报告失败的测试,因此测试通过率保持在 100%,这意味着我看不到测试趋势或其他细节。

我的 buildspec.yml 的相关部分:

version: 0.2
phases:
  install:
    commands:  
      - npm install
  pre_build:
    commands:
      - npm test -- --silent    
reports:
  jest_reports:
    files:
      - 'test-results.xml'
    file-format: JunitXml
    base-directory: "reports/results"

我的 package.json 中的 Jest 配置:

"jest": {
    "reporters": [
        "default",
        [
            "jest-junit",
            {
                "outputDirectory": "reports/results",
                "outputName": "test-results.xml"
            }
        ]
    ]
}

CodeBuild 日志的最后部分:

Test Suites: 1 failed, 8 passed, 9 total
Tests:       2 failed, 57 passed, 59 total
Snapshots:   0 total
Time:        3.034s
npm ERR! Test failed.  See above for more details.

[Container] 2020/08/24 01:41:18 Command did not exit successfully npm test -- --silent exit status 1
[Container] 2020/08/24 01:41:18 Phase complete: PRE_BUILD State: FAILED
[Container] 2020/08/24 01:41:18 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: npm test -- --silent. Reason: exit status 1

如何设置 CodeBuild 来报告失败的测试,但在测试失败时仍阻止其继续构建?


在研究这个问题时,我看到的所有示例都使用 CodeBuild 测试报告,测试都是作为build phase.

由于您的测试位于pre_build相,如果pre_build失败,不会继续进行upload_artifacts阶段并且将跳至finalizing. 有关详细信息,请参阅 CodeBuild 阶段转换图。 https://docs.aws.amazon.com/codebuild/latest/userguide/view-build-details.html#view-build-details-phases

我建议遵循用户指南的模式并将您的测试放入build phase.

用户指南参考:

  • https://aws.amazon.com/blogs/devops/test-reports-with-aws-codebuild/ https://aws.amazon.com/blogs/devops/test-reports-with-aws-codebuild/
  • https://docs.aws.amazon.com/codebuild/latest/userguide/sample-test-report-cli.html https://docs.aws.amazon.com/codebuild/latest/userguide/sample-test-report-cli.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CodeBuild 不报告失败的测试 的相关文章

随机推荐

  • 用其他字符替换前导空格 - Python

    我想用一个替换我的前导空格nbsp 每个空白 So spam gt spam eggs gt nbsp eggs spam eggs gt nbsp nbsp spam eggs 我见过一些使用正则表达式的解决方案 但都是其他语言的 我在
  • 传递调用triggered.connect()的QAction对象作为我单击QAction后触发的函数中的参数

    我正在使用 for 循环创建 QAction 对象列表 如下所示 class some class self tabs for self i in range 0 10 self tabs self i QtGui QAction New
  • 在 Resources.resx 中的 xaml 中使用图像

    在我的程序中 我有一个名为 test 的资源文件 其中包含图像 test png 我想在 XAML 文件中使用它 但是当程序运行时我看不到图像 我的代码 xmlns r clr namespace ProjectB Properties
  • 反射无法找到抽象类属性的私有设置器

    当我在抽象类中拥有此属性时 public IList
  • Ajax IndexedDB 删除当前成功上传

    我昨天发布了类似的内容 但它有效 但只删除了数据中的最后一个对象 我想要发生什么 这个ajax上传将处理大量数据 所以我使用indexeddb 这也将在手机上使用 因此 我希望它一次上传一项 如果一项失败 则仅删除数据中的前一项 这样他们就
  • Jest 在没有 webpack 的情况下配置 typescript

    好吧 我正在用 typescript 编写一些 NPM 模块 但我没有使用 Webpack 来编译脚本 我应该如何配置 jest 才能使用打字稿文件正确运行 test spec ts import calc from index test
  • 如何在集合中进行隐式转换?

    假设我有一个隐式转换 implicit def aToB a A B 如何让这种隐式转换适用于列表的元素 如果我有 val listOfA List A 我有一个接受 B 列表的函数 是否可以让 Scala 将所有元素从 A 隐式转换为 B
  • 如何清除EditText的焦点?

    我有一个带有搜索框的活动 EditText 位于顶部 ListView 位于下方 每当活动启动时 EditText 始终具有焦点并调出键盘 该键盘部分覆盖了ListView 没有其他文本视图可以获得焦点 我希望 EditText 仅在用户触
  • 通过 PowerShell 在远程计算机上设置环境变量

    我正在尝试通过 TFS Releasemanagement 通过调用 powershell 脚本来设置环境变量 该脚本应该在计算机上打开远程会话并设置环境变量 param Parameter Mandatory true String Re
  • 在 iOS 8.3 上测试应用程序时出错:Testflight 无法安装应用程序。此请求有错误

    我将 Xcode 更新到 7 2 我向测试人员发送了一个应用程序版本 一名测试人员出现以下错误 Testflight could not install app There was an error with this request 他的
  • 加入并包含在实体框架中

    我有以下 linq toEntity 查询 问题是它似乎没有加载 标签 关系 即使我已经为其添加了一个东西 如果我不加入标签 它工作正常 但我需要这样做 var items from i in db Items Include Tags f
  • 在 Windows 10 上,pipenv install/pipenv shell 无法与 Git Bash 一起使用

    在使用适用于 Windows 10 的 Git Bash 时 我很难让 Pipenv install 和 Pipenv shell 命令正常工作 使用 powershell 时 我能够成功创建一个新的虚拟环境并使用 Pipenv shell
  • 如何查看 Perforce 中的分支是否包含错误修复?

    我是一个新的 perforce 用户 但过去使用过许多其他源代码控制系统 我们使用变更列表来签入每个错误修复 更改列表注释包含错误 ID 因此可以轻松跟踪错误修复的时间签入分店 但是 我看不到一种简单的方法来查找给定错误修复的所有分支并入
  • 发送自动短信

    首先 我们使用 net sql server 我有一位客户对能够在预定时间发送短信的系统感兴趣 除了通过电子邮件网关发送短信之外 我从未做过类似的事情 例如 电子邮件受保护 cdn cgi l email protection 但是 我认为
  • Python 导入令人头疼

    我有以下目录结构 Main py A init py B init py C init py 文件Main py包含代码 from A import B from B import C The init py文件为空 当我跑步时Main p
  • 对向量元素进行向量化循环

    我发现很难对以下问题提出快速解决方案 我有一个观察向量 它表示观察某些现象的时间 example lt c 0 0 0 1 0 1 1 0 0 0 1 0 0 1 1 0 0 1 0 0 现在我想消除特定观察之间的零 假设某种现象会持续下去
  • 数字输入旋转框CSS代码编译为JSS

    我在转换时遇到问题CSS隐藏数字输入旋转框的代码JSS 我的问题是如何正确转换此代码以使其与 JSS 匹配 input webkit outer spin button input webkit inner spin button webk
  • 围绕图中的点绘制圆圈

    我有两个矩阵 timeline 0 0008 0 0012 0 0016 0 0020 0 0024 0 0028 原始数据 79 8400 69 9390 50 0410 55 5082 34 5200 37 4486 31 4237 2
  • Scala 编译器有哪些特殊类型?

    Scala 非常重视如何将看似语言的功能实现为库功能 是否有该语言特别处理的类型列表 是在规范中还是作为实现细节 例如 这包括优化元组的客场匹配 与模式匹配 推导式 try catch 块和其他语言结构相关的特殊约定又如何呢 String
  • CodeBuild 不报告失败的测试

    我正在使用 CodeBuild 构建我的 NPM 项目 我的构建规范中有一个特定的报告组 并且我正在使用 Jest 和npm test命令 当所有测试通过后 将成功报告给 CodeBuild 报告组 但是 如果其中一项测试失败 我会收到错误