Я использую Django 1.9.6. Например, у меня в models.py
файле есть такая модель:
class Question(BaseModel):
question_text = models.CharField(max_length=500, unique=True)
class Meta:
verbose_name = 'Question'
verbose_name_plural = 'Questions'
def __unicode__(self):
return (
u"Question id: {}".format(self.id)
)
и в tests.py
я провожу на нем следующий тест:
class TestQuestionModel(TestCase):
def setUp(self):
Question.objects.create(question_text="What is the airspeed velocity of an unladen swallow?")
def test_simple_questions(self):
simpleQuestion = Question.objects.get(question_text="What is the airspeed velocity of an unladen swallow?")
self.assertEqual(simpleQuestion.question_text, "What is the airspeed velocity of an unladen swallow?")
И я использую базу данных postgres. Все это работает локально.
Я понимаю, что мне нужно преобразовать вывод в JUnit XML для запуска тестов в Bamboo, но я немного застрял. Этот ответ помог мне на 90% пути, но я изо всех сил пытаюсь понять часть postgres. Сценарий, который я запускаю перед анализатором JUnit, выглядит следующим образом:
#installing pip locally
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py --root=${bamboo.build.working.directory}/tmp --ignore-installed
export PATH=${bamboo.build.working.directory}/tmp/usr/local/bin:$PATH
export PYTHONPATH=${bamboo.build.working.directory}/tmp/usr/local/lib/python2.7/dist-packages:$PYTHONPATH
echo Pip is located `which pip`
# setting up virtualenv
pip install --root=${bamboo.build.working.directory}/tmp --ignore-installed virtualenv
virtualenv .
. bin/activate
# get pg_config
apt-get install libpq-dev python-dev
# from the backend/Dockerfile
pip install --no-cache-dir -r requirements.txt
# running tests into JUnit XML format
python ./manage.py test --junitxml=test-reports\results.xml
И я получаю несколько ошибок:
E: Не удалось открыть файл блокировки / var / lib / dpkg / lock - open (13: В доступе отказано) E: Невозможно заблокировать административный каталог (/ var / lib / dpkg /), вы root?
Команда "python setup.py egg_info" завершилась неудачно с кодом ошибки 1 в / tmp / pip-build-ZV8Jz0 / psycopg2 /
Traceback (последний вызов последним): файл "./manage.py", строка 6, из django.core.management import execute_from_command_line ImportError: нет модуля с именем django.core.management
Может ли кто-нибудь помочь мне преодолеть это?
sudo
в строкуpython get-pip.py ...
. - person Igonato   schedule 05.06.2017sudo
не помогает, а полный журнал сборки состоит из тысяч строк. Это всего лишь небольшая часть сборки. - person wogsland   schedule 05.06.2017sudo apt-get install libpq-dev python-dev
. Я не заметил этого в первый раз, почти уверен, что это мог быть преступник. Вы должны хотя бы включить журнал ошибок. В противном случае это просто угадайка. - person Igonato   schedule 05.06.2017