Django测试:如何指定我想使用其数据库的应用程序?

时间:2015-06-11 16:59:41

标签: python django unit-testing testing django-1.8

我的默认数据库没有迁移到Django的测试数据库中。正在使用Django用于记录测试的默认表创建数据库(例如django_content_typedjango_admin_log),而不是我的应用程序表。

当我运行详细级别为3(-v 3)的测试时,我发现我的应用程序被归类为Synchronizing apps without migrations ...这证实了迁移未被执行

但是,我不知道如何告诉Django的测试迁移我的应用程序的数据库表。我可以很容易地输出python manage.py makemigrations,但显然不会继续进行测试。

我错过了什么?

谢谢!

编辑:抱歉,我的意思是没有创建关系。我想测试依赖于数据库中模型的视图。为了做到这一点,我要上传灯具(不处理生产数据)。但是,当我尝试上传灯具时,我收到relation "mymodel" does not exist错误。

1 个答案:

答案 0 :(得分:1)

Django的测试旨在创建一个测试数据库来执行测试。

我认为让你的测试依赖于prod数据库是一个坏主意。 您应该设计测试以涵盖尽可能多的情况,而不是检查它是否适用于您当前的数据库(可以发展)。

以下是有关使用django 1.8进行测试的一些页面:

https://docs.djangoproject.com/en/1.8/intro/tutorial05/

https://docs.djangoproject.com/en/1.8/topics/testing/