首页 > 解决方案 > 使用 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"

标签: djangodockerpytesttravis-cipytest-django

解决方案


推荐阅读