我的项目结构如下:
cloudbuild.yaml
requirements.txt
functions/
folder_a/
test/
main_test.py
main.py
我的
cloudbuild.yaml
steps:
# Install
- name: 'docker.io/library/python:3.7'
args: ['pip', 'install', '-t', '/workspace/lib', '-r', 'requirements.txt']
# Test
- name: '?'
args: ['pytest', 'functions/**/*_test.py']
我使用什么构建器来运行 pytest?我刚刚使用上一个安装步骤安装了它。我应该使用相同的 docker 图像吗?在 pytest 成功完成所有测试之前,如何阻止我的构建通过?
最佳答案
每个步骤都在一个单独的容器中运行,因此您应该一步完成所有操作:
steps:
# This step runs the unit tests on the app
- name: 'docker.io/library/python:3.7'
id: Test
entrypoint: /bin/sh
args:
- -c
- 'pip install -t /workspace/lib -r requirements.txt && pytest functions/**/*_test.py'
见 "GitOps-style continuous delivery with Cloud Build"更多细节。
关于python-3.x - 在 Google Build cloudbuild.yaml 中运行 pytest 以确定构建是否通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56469381/