我是Django新手,在做测试的时候,我在setup()函数中新建了一条测试模型记录,用于下面的测试,成功了,下面的代码可以访问记录,但是当我去查看真实数据库,新记录不存在。
设置代码如下:
class UserTest(TestCase):
def setUp(self):
test_user = User.object.create(name='test')
当我在 setUp() 函数中设置断点,并且在创建了 'test_user' 之后,我可以使用 'User.object.get()' 来获取创建的用户,但是当我转到真实数据库并且查看用户表,我找不到这条记录。顺便说一下,我使用 postgreSQL。
测试运行器正在使用这个:
class NoDBTestRunner(DiscoverRunner):
def setup_databases(self, **kwargs):
pass
def teardown_databases(self, old_config, **kwargs):
pass
我想知道创建的数据记录存放在哪里? 任何建议都会很有帮助
最佳答案
Django 单元测试创建一个单独的数据库用于测试。不使用主数据库以避免测试可能导致的错误。
关于Django 在测试时保存了一个模型实例,但在真实数据库中找不到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49793000/