django - 使用 django-pytest、docker 在 Travis 上设置时出错
问题描述
我在 Travis CI 上运行 pytest 时遇到错误,但不知道如何解决。docker-compose run --rm api sh -c "pytest && flake8"
当我在本地的 Docker 上运行命令时,所有测试都通过了。谁能给我一个提示?我在 conftest.py 上也有一些固定装置。
部分错误信息
api/tests/test_order_items.py EEEEE [ 45%]
api/tests/test_orders.py EEEEEE [100%]
==================================== ERRORS ====================================
__________ ERROR at setup of TestOrderItemModel.test_list_order_items __________
self = <django.db.backends.utils.CursorWrapper object at 0x7efe0e94d3d0>
sql = 'SELECT "orders_orderitem"."id", "orders_orderitem"."order_id", "orders_orderitem"."pizza_type", "orders_orderitem"."pizza_size", "orders_orderitem"."quantity" FROM "orders_orderitem" ORDER BY "orders_orderitem"."id" ASC'
params = ()
ignored_wrapper_args = (False, {'connection': <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7efe0fbb4fd0>, 'cursor': <django.db.backends.utils.CursorWrapper object at 0x7efe0e94d3d0>})
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
return self.cursor.execute(sql)
else:
> return self.cursor.execute(sql, params)
E psycopg2.errors.UndefinedColumn: column orders_orderitem.order_id does not exist
E LINE 1: ...SOR WITH HOLD FOR SELECT "orders_orderitem"."id", "orders_or...
.travis.yml
language: python
python:
- "3.7"
services:
- docker
before_script: pip install docker-compose
script:
- docker-compose run --rm api sh -c "pytest && flake8"
点文件
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
flake8 = "==3.7.9"
autopep8 = "==1.4.4"
pytest = "==5.2.1"
pytest-django = "==3.6.0"
[packages]
django = "==2.2.7"
djangorestframework = "==3.10.3"
psycopg2 = "==2.8.4"
[requires]
python_version = "3.7"
解决方案
推荐阅读
- javascript - mapDispatchToProps 简写导致流类型检查错误
- python - 拷贝数文件格式问题(需要修改结构)
- java - 如何使用 pojo 模式来存储和检索值
- android - Android Studio 中的组件安装程序耗时过长
- rabbitmq - 无法为 Spring AMQP RabbitMQ (Spring Boot 2.0.2) 配置重试
- django - 以编程方式使用 django rest 框架将用户添加到组
- javascript - 如何区分字母和非字母?
- android - 当 listView 选择器不存在时,按钮来祝酒。安卓
- android - 安卓应用需要的邮件发送服务
- php - 如何删除prev foreach数据