在运行要在数据库中创建行的测试之后,我注意到使用了当前数据库,而不是像我认为是django的默认行为的测试数据库。不幸的是,我无法弄清楚如何解决此问题。
当前位于settings.py
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"NAME": os.environ["POSTGRES_NAME"],
"USER": os.environ["POSTGRES_USER"],
"PASSWORD": os.environ["POSTGRES_PASSWORD"],
"HOST": os.environ["POSTGRES_HOST"],
"PORT": os.environ["POSTGRES_PORT"],
}
}
但是添加"TEST": {"NAME": "test_database"},
时,它似乎仍在主数据库上运行。
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"NAME": os.environ["POSTGRES_NAME"],
"USER": os.environ["POSTGRES_USER"],
"PASSWORD": os.environ["POSTGRES_PASSWORD"],
"HOST": os.environ["POSTGRES_HOST"],
"PORT": os.environ["POSTGRES_PORT"],
"TEST": {
"NAME": "test_database",
}
}
}
如何获取以便测试写入新的测试数据库?
答案 0 :(得分:0)
让您的测试在测试数据库上运行的一个关键步骤是使用TestCase
中的django.test
。
因此它将正常运行。
from django.test import TestCase
class MyTests(TestCase):
...