在 Google Cloud Build 中运行 python 单元测试

2024-01-11

我希望 Google Cloud Build 在推送更改后运行我的 python 项目中的单元测试。 我可以配置运行测试的步骤,但我不确定如何输入保存测试的目录,如果我只是输入.然后它运行 0 测试

我的项目结构是: - 项目名 - 包裹名字 - 测试 - 样本测试.py

这是我的cloudbuild.yaml配置:

steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: ["run","gcr.io/google-appengine/python","python3","-m","unittest","discover","--verbose","-s","./package_name/test/","-p","*_test.py"]
      id:   unittest

上面的操作失败并显示以下消息:

raise ImportError('Start directory is not importable: %r' % start_dir)
ImportError: Start directory is not importable: './package_name/test/'
ERROR
ERROR: build step 0 "gcr.io/cloud-builders/docker" failed: exit status 1
Show debug panel

如果我将文件夹替换为.然后它运行但没有发现任何测试。 为了将代码复制到 gs 存储桶,我们使用 gsutil,然后 ./package_name 将包复制到存储桶 在本地这当然有效

我如何了解要运行的测试的正确文件夹结构是什么? 谢谢!


  1. 你为什么使用appengine容器?为什么不直接使用官方的 Python 容器 -name: python:3.7? 步骤作为 Docker 容器运行,当你想运行 docker 容器时,我认为没有理由在 docker 中运行 Docker。 尝试这个:
steps:
  - name: python:3.7
    args: ["python","-m","unittest","discover","--verbose","-s","./package_name/test/","-p","*_test.py"]
    id: unittest
  1. 另外,你有没有__init__.py目录中的文件./package_name/test?消息directory is not importable通常意味着该目录不是Python包,因为缺少__init__.py file.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Google Cloud Build 中运行 python 单元测试 的相关文章

随机推荐

  • 音频播放完毕后通知

    嗯 我正在尝试实现录音的基本功能 例如 录音 播放 暂停 停止 我可以完成所有这些 但唯一的问题是音频完成后如何收到通知 玩 我的意思是 如果我播放一个音频文件 那么一旦它播放完毕 我想要一个它现在停止的通知 到目前为止我已经用过 mPla
  • 在 Roxygen 中记录时:如何在 @details 中制作逐项列表?

    例如 在 details 部分中向 roxygen2 添加逐项列表的适当语法是什么 我可以创建一个 Latex 列表环境吗 似乎换行符被简单地忽略了 即 details text describing parameter inputs in
  • 错误@angular/fire构建错误地扩展了接口

    我开始新的 Ionic Angular 项目并添加 Angular Fire 包 当我运行 ionicserve 时 出现以下错误 Error node modules angular fire compat firestore inter
  • 忽略全局覆盖的 new/delete

    您好 我正在使用一个已全局覆盖 new delete 的库 但我对这个库有一个问题 问题是它必须在主函数中手动初始化 现在我尝试使用另一个库在调用 main 之前初始化一些函数 不幸的是这个库在这些函数中使用了 new 所以我收到错误 因为
  • 需要建议新的 AsyncTask 递归调用

    我需要建议这个解决方案是否可以接受并且不会导致溢出 我更新使用 AsyncTask 读取的数据 在 AsyncTask 完成后我需要一次又一次更新 该解决方案是否可以接受且安全 private class DownloadFilesTask
  • 如何在sql中转义“'”

    您好 我正在数据库中搜索名称组合 我传递的组合如下 firstName firstName middleName middleName lastName lastName 这很好用 但问题来了 名字里有一些 我该如何纠正呢 例如 Johns
  • MongoDB - 如何对对象内的多个属性进行查询并对结果进行分组

    I m trying学习 MongoDB 但我似乎不知道如何做到这一点 假设我有三个这样的对象 id 99990 type 15 attributes id 1 value 115 id 99991 type 5 attributes
  • Windows 上的 boost python 在 import("__main__") 时崩溃;

    我正在编写一个使用嵌入式 boost python 的程序 我的程序在 Linux Mint 上运行没有问题 但在 Windows 上却很痛苦 我正在使用 MingW 因此我尝试按照本网站上另一个问题的说明创建导入库 考虑到所有这些 程序编
  • 通过 Id (int) 获取视图 Id (string) 的更简单方法

    我的布局中有 24 个按钮 所有这些按钮都执行类似的操作 因此我想创建一个通用功能 但首先我需要知道按钮的名称 xml id 这是按钮的 XML 代码
  • Ada GPS IDE 似乎找不到 GtkAda

    我已经安装了 GNAT 编程工作室 GPS 和 GtkAda 它们似乎都工作正常 但是当我尝试在 从模板新建项目 下构建简单窗口项目时 我收到一堆错误 提示 文件 gtk ads 未找到 这似乎是一个目录 依赖性问题 GPS 不知道在哪里寻
  • UINavigationBar 使用动画更改色调颜色

    是否可以通过动画更改色调以获得更平滑的效果 这对我不起作用 UIView beginAnimations nil context nil self navigationController navigationBar setTintColo
  • Swashbuckle.AspNetCore v1.0.0 与 OAuth2,流程:应用程序 -> IdentityServer4

    我似乎无法让我的 net core Web API 与 swashbuckle OAuth2 和应用程序流程一起工作 当我单击 授权 按钮时 Fiddler 显示调用正常 并且我的本地 IdentityServer 4 回复了 access
  • Theano sqrt 返回 NaN 值

    在我的代码中 我使用 theano 来计算欧几里德距离矩阵 代码来自here https stackoverflow com questions 25886374 pdist for theano tensor import theano
  • 无法在共享驱动器上使用 java 和 smbj 读取文件

    我正在尝试使用 SMBJ jar https github com hierynomus smbj https github com hierynomus smbj 从共享驱动器中获取文件 我能够连接到共享磁盘 连接后 我执行的任何操作都会
  • 如何修改远程Erlang节点的代码搜索路径?

    我已连接到 Erlang 节点 remsh 如何修改代码路径 以加载未打包到我的版本中的库 操作代码加载 路径 的所有必要函数都在代码模块中 请参阅以下位置的文档 Erlang OTP代码模块 http www erlang org doc
  • C语言是按引用调用吗?

    我知道C语言中没有按引用调用 但是 有人说C中有Call by Reference 我很困惑 据我所知 当将因子交给C中的函数时 我知道传递给函数的值是通过制作本地副本作为参数来接收的 然而 在C 中 通过引用调用 是可能的 因为 仅因子和
  • 如何删除 Inno Setup 卸载过程中创建的 iu-....tmp 文件夹?

    在卸载过程中 Inno Setup 卸载程序将创建一个名为iu tmp in AppData Local Temp小路 根据文档 https jrsoftware org isfaq php uninsttemp它应该在重新启动笔记本电脑时
  • 使用 CLI 每秒运行一个 PHP 脚本

    我有一台运行 Cent OS 并带有并行 PLESK 面板的专用服务器 我需要每秒运行一个 PHP 脚本来更新我的数据库 这些在时间上是没有替代方法的 它需要每秒更新 我可以使用 URL 找到我的脚本http www somesite co
  • 如何在stl算法中使用glm的operator==?

    是否可以在 stl 算法中使用 glm gtx comparison 中定义的运算符 具体来说我有这个代码 std vector
  • 在 Google Cloud Build 中运行 python 单元测试

    我希望 Google Cloud Build 在推送更改后运行我的 python 项目中的单元测试 我可以配置运行测试的步骤 但我不确定如何输入保存测试的目录 如果我只是输入 然后它运行 0 测试 我的项目结构是 项目名 包裹名字 测试 样