use*_*929 5 django django-testing django-fixtures django-tests
如何在Django单元测试中使用GenericRelations?
我已经阅读并尝试了无数互联网上的建议,但无济于事。
这是在Django中加载固定装置时很有希望的Contenttypes问题
但是Django 1.6中不再存在“重置”命令
我的项目将GenericForeign键用于ContentType,并将外键用于auth.Users。我使用--natural选项仅转储了我应用程序的数据,但这导致了测试数据库中不存在用户的问题。现在,我删除了--natural选项,而是转储了所有3个应用程序myApp,auth,contenttypes的数据。运行测试时,我得到“无法加载contenttypes.ContentType(pk = 50):列app_label,模型不是唯一的”。我认为这是由于在导入模型时动态创建了contenttypes。
使用的命令:
python manage.py dumpdata auth myApp contenttypes --natural --indent=4 > auhtmtmnatural.json
Run Code Online (Sandbox Code Playgroud)
接下来,我转储了myApp,保留了内容类型的身份验证。我认为,由于ContentTypes应用程序数据库是动态创建的,而且我的装置具有自然键,因此应该可以使用。没有。
现在我得到:
DeserializationError: Problem installing fixture 'auhtmtmnatural.json': ContentType matching query does not exist.
Run Code Online (Sandbox Code Playgroud)
如何获得具有原型的Fixutres?在测试中使用安装程序和创建对象更好吗?
Lar*_*ara -3
不应该使用固定装置的原因有以下几个:
您应该使用像工厂男孩这样的“模拟”应用程序,而不是固定装置:
http://factoryboy.readthedocs.org/en/latest/
https://pypi.python.org/pypi/factory_boy/
| 归档时间: |
|
| 查看次数: |
1996 次 |
| 最近记录: |