django - Django 测试未在测试数据库上运行
问题描述
在运行我在数据库中创建行的测试之后,我注意到使用当前数据库而不是我认为是 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",
}
}
}
我怎样才能得到它,以便测试写入一个新的测试数据库?
解决方案
让您的测试在测试数据库上运行的一个关键步骤是使用TestCase
from django.test
.
所以这将正确运行。
from django.test import TestCase
class MyTests(TestCase):
...
推荐阅读
- amazon-web-services - 在 AWS 云形成中的假定角色
- java - JTable TableCellRenderer 没有正确着色
- java - Apache Camel RouteBuilder 配置方法
- c# - 使用 MouseOver / MouseEnter 事件突出显示包含控件的 Grid 行
- apache-camel - 使用 Apache camel 从 CSV 和 XML 文件中读取大量数据
- html - 如何阻止html编码在swift 4中用单个空格替换双空格
- python - 将模型字段序列化为嵌套对象/字典
- blockchain - 区块链松露迁移错误
- objective-c - 如何从 MIDI 文件中获取调号(格式 0)
- python - 加入英国日期格式的熊猫数据框