如何设置Django在Travis CI上运行PostgreSQL测试?

2024-06-01 11:26:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我似乎不知道如何集成我当前的Django项目来运行travisci上的测试。现在,我已经将PostgreSQL设置为在运行单元测试时在本地计算机上运行。在

language: python
python:
  - 3.4.1
addons:
  postgresql: "9.3"
before_script:
- psql -U postgres -c "create extension postgis"
  - psql -c 'create database travis_ci_test;' -U postgres
install:
  - pip install -r requirements.txt
  - pip install coveralls
script:
  coverage run --source=calculator manage.py test
after_success:
  coveralls

特拉维斯告诉我:

^{pr2}$

现在,我有一个简单的设置来处理本地数据库和heroku数据库之间的切换:

import dj_database_url

if DEBUG:
    DATABASE_URL = 'postgres://localhost/storage'
else:
    DATABASE_URL = 'postgres://somerealurl'
DATABASES = {'default': dj_database_url.config(default=DATABASE_URL)}

有人有好办法解决我的问题吗?似乎我需要能够在Travis上创建一个PostgreSQL,然后运行我的测试,这样我就可以获得覆盖率。无论何时签入代码,Debug也必须设置为False。在

如果你能发布一个工作的Travis,DJango,和PSQL设置,那就太棒了!在


Tags: installpiptest数据库urlpostgresqlcreatescript
1条回答
网友
1楼 · 发布于 2024-06-01 11:26:46

我所做的和成功的是将DATABASE_URL设置为环境变量,并使用
DATABASES = {'default': dj_database_url.config(default=DATABASE_URL)} 在将从本地优雅地切换到生产环境的代码中。在

下面是一个使用Postgres、Django并部署在Heroku上的travis配置。在

https://github.com/kevgathuku/sermonbuddy/blob/master/.travis.yml

相关问题 更多 >