Nir*_*cov 5 python-3.x google-cloud-build
我希望 Google Cloud Build 在推送更改后运行我的 python 项目中的单元测试。我能够配置运行测试的步骤,但我不确定如何输入保存测试的目录,如果我只是输入,那么.它会运行 0 测试
我的项目结构是: -project_name -package_name -test -sample_test.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
Run Code Online (Sandbox Code Playgroud)
上面的操作失败并显示以下消息:
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
Run Code Online (Sandbox Code Playgroud)
如果我用刚才替换的文件夹,.它会运行但不会发现任何测试。为了将代码复制到 gs 存储桶,我们使用 gsutil,然后 ./package_name 将包复制到本地存储桶,这当然有效
我如何了解要运行的测试的正确文件夹结构是什么?谢谢!
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
Run Code Online (Sandbox Code Playgroud)
__init__.py另外,你的目录中有文件吗./package_name/test?该消息directory is not importable通常意味着该目录不是 Python 包,因为缺少__init__.py文件。| 归档时间: |
|
| 查看次数: |
3623 次 |
| 最近记录: |