【发布时间】:2020-11-17 23:29:14
【问题描述】:
我正在新创建的 Django 项目中运行测试。
通常我希望在测试运行时看到创建的测试数据库。所有测试都运行良好,但我看到运行测试时正在使用我的本地数据库(供 runserver 使用)。
在错误的数据库中创建了大量多余的数据。如何让我的测试设置再次使用正常的 test_dabasename 设置?
我不确定我做了什么改变才能做到这一点,我完全被难住了。
class TestRest(TestCase):
def setUp(self):
...
def test_allowed_to_get_list_authenticated(self):
....
【问题讨论】:
-
请查看这张票,它对您的问题有类似的答案stackoverflow.com/a/4650651/6365947
-
@issamabbas 我可以进入并使用类似的数据编辑 project.settings.test 配置,但随后出现其他错误,例如: DATABASES["default"] = {"ENGINE": "django.db.backends.sqlite3", "NAME": "mydatabase"} 导致 django.db.utils.OperationalError: no such table: base_user and DATABASES["default"]["NAME"] = f"test_{ os.getenv('DB_NAME')}" 导致数据库 "test_mitt_se" 不存在
标签: django unit-testing python-unittest