1

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

当我以 3 ( ) 的详细级别运行测试时-v 3,我看到我的应用程序被归类为Synchronizing apps without migrations... ,这确认没有执行迁移。

但是,我不知道如何告诉 Django 的测试迁移我的应用程序的数据库表。我可以python manage.py makemigrations轻松输出,但显然不会延续到测试中。

我错过了什么?

谢谢!

编辑:对不起,我的意思是没有创建关系。我想测试依赖于数据库中模型的视图。为此,我正在上传夹具(不处理生产数据)。但是,当我尝试上传夹具时出现relation "mymodel" does not exist错误。

4

1 回答 1

1

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

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

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

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

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

于 2015-06-11T17:32:50.330 回答