我尝试为django应用程序添加测试用例,但测试在本地成功通过,但在Travis CI上失败。
M #include <stdio.h>
#include <stdlib.h>
int main(void) {
int minimum;
printf("Input 10 space separated integers\n");
if (scanf("%d", &minimum) != 1) exit(EXIT_FAILURE);
for (int j = 0; j < 9; j++) {
int value;
if (scanf("%d", &value) != 1) exit(EXIT_FAILURE);
if (value < minimum) minimum = value;
}
printf("minimum value entered was %d.\n", minimum);
}
个文件如下所示:
.travis.yml
我的 dist: bionic
services:
- postgresql
addons:
postgresql: '9.5'
apt:
packages:
- postgresql-9.5
before_script:
- psql -c 'create database fecundity_test;' -U postgres
branches:
only:
- "master"
language: python
python:
- "3.8"
install:
- if [ "$TRAVIS_BRANCH" = "master" ]; then pip install -r requirements/dev.txt; fi
- if [ "$TRAVIS_BRANCH" = "master" ]; then pip install coveralls; fi
script:
- if [ "$TRAVIS_BRANCH" = "master" ]; then ./scripts/lib/run-ci; fi
after_success:
- if [ "$TRAVIS_BRANCH" = "master" ]; then coveralls; fi
看起来像这样:
settings.py
当我在travis上运行它时,会得到以下错误日志:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': os.environ['POSTGRES_DB'],
'USER': os.environ['POSTGRES_USER'],
'PASSWORD': os.environ['POSTGRES_PASSWORD'],
'HOST': os.environ['POSTGRES_HOST'],
'PORT': '',
'ATOMIC_REQUESTS': True,
'TEST': {
'NAME': os.environ['POSTGRES_TEST_DB']
}
},
}
我不知道什么在起作用,我尝试在Internet上搜索,但找不到任何帮助。进一步的CI正在通过测试。预先感谢。
答案 0 :(得分:0)
经过这么多努力,我发现失败的原因是,我没有在 Travis CI 中添加 EVN 变量。如果您遇到相同的错误,请在 TravisCI 的 ENV 设置中添加变量。