【问题标题】:Django not creating a testdatabase when testingDjango在测试时没有创建测试数据库
【发布时间】: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


【解决方案1】:

找到了。我真是个糟糕的程序员:(。

我是从哪里导入的

unittest.case import TestCase

应该是什么时候

from django.test import TestCase

这导致没有创建测试数据库。

【讨论】:

    猜你喜欢
    • 2012-04-20
    • 2013-08-05
    • 1970-01-01
    • 2019-09-05
    • 2011-11-04
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 2015-08-06
    相关资源
    最近更新 更多