Я не могу запустить тесты в Django, я получаю ошибку "Got an error creating the test database: permission denied to create database".

Я действительно новичок в django, на самом деле это мой первый проект для курса, который я делаю. Я закончил его, но мне все еще нужно запустить тесты. Я создал один тест, попытался запустить его, и появилась эта ошибка: "Возникла ошибка при создании тестовой базы данных: отказано в разрешении на создание базы данных"

Насколько я понял, изучая проблему, проблема заключается в том, что у пользователя нет прав на создание временной тестовой базы данных. Но я не понимаю, потому что в Django admin я вошел как суперпользователь. Разве у них не должно быть доступа?

Я прочитал, что можно использовать команду ALTER USER conorg180 CREATEDB. Но я попробовал это в оболочке python, и это не работает, говорится, что у меня синтаксическая ошибка. Я не уверен, что имя пользователя правильное. Мой суперпользователь называется conorg180. Однако я не уверен, нужно ли мне использовать имя пользователя суперпользователя или другое имя пользователя, например, зарегистрированное в базе данных.

У меня нет свойства имени пользователя в моей базе данных, потому что я настроил ее с помощью dj-database-url и postresql, как показано ниже. Есть ли способ узнать свойство пользователя, чтобы запустить эту команду? Или другой способ обойти это?

Вы можете увидеть мой settings.py и файл тестирования ниже.

**

settings.py

**

DATABASES = {
    'default': dj_database_url.parse(os.environ.get('DATABASE_URL'))
}

test-role-forms.py

from django.test import TestCase
from .forms import RoleForm


class TestRoleForm(TestCase):

    def test_role_id_is_required(self):
        form = RoleForm({"role_id": "", 'title': 'test_title', "hourly_wage": "10.00"})
        self.assertFalse(form.is_valid())
        self.assertIn('role_id', form.errors.keys())
        self.assertEqual(form.errors['role_id'][0], "This field is required.")
Вернуться на верх