【问题标题】:Docker container build fails on local if a unit test fails but build successfully on Azure如果单元测试失败但在 Azure 上成功构建,则 Docker 容器构建在本地失败
【发布时间】:2022-01-21 12:47:02
【问题描述】:

init.sh 文件

#!/bin/bash
cd /code
python manage.py migrate
python manage.py load_fixtures
python manage.py collectstatic --noinput
python manage.py test || exit 1
python manage.py runserver 0.0.0.0:8000

当测试失败时,我的 docker compose 失败并且容器未构建,但是当我将代码在线带到 azure 管道时。它不会给出测试错误。

【问题讨论】:

  • 测试失败的原因是什么?当您在开发设置中运行测试套件时,在虚拟环境中的容器之外,它是否通过了,您是否需要在每次启动服务器时重复它?您能否包含您的测试代码或更广泛的环境或实际错误消息的任何详细信息?
  • 测试是python单元测试来检查代码是否正常工作。当我在我的 docker 桌面上编写我的 docker 容器时,容器会构建但由于其中的一项测试失败而停止。(故意使测试失败以查看容器是否停止构建)

标签: python django docker


【解决方案1】:

尝试此代码以验证测试中的退出代码

#!/bin/bash
cd /code
python manage.py migrate
python manage.py load_fixtures
python manage.py collectstatic --noinput
python manage.py test && echo $? &&
python manage.py runserver 0.0.0.0:8000

【讨论】:

  • 这是我在 docker 桌面上遇到的错误:First differing element 0: 307.0 308 - [307.0, 307.0, 157.0] ? ^^^ -- -- + [308, 307, 157] ? ^ ---------------------------------------------------------------------- Ran 3 tests in 0.162s FAILED (failures=1) Destroying test database for alias 'default'..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-06
  • 1970-01-01
  • 2018-03-08
相关资源
最近更新 更多