我正在尝试生成一个自定义页面树,用于在管理面板中测试用户查看权限。我使用以下命令将夹具转储到文件中:
./manage.py dumpdata --natural-foreign --natural-primary --indent 4 > test.json
并在测试用例中使用fixture:
class MyTest(TestCase, WagtailTestUtils):
fixtures = ['test.json']
def test_my_code(self):
# More code....
运行此测试会返回以下错误:
File "/Users/jchau/.pyenv/versions/2.7.8/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py", line 323, in execute
return Database.Cursor.execute(self, query, params)
DeserializationError: Problem installing fixture '/Users/jchau/Documents/wagtail/wagtail/tests/testapp/fixtures/test_group_restrictions.json': no such table: auth_user
我的测试数据似乎格式不正确。是否有可靠的方法来生成用于Wagtail的自定义测试夹具?
注意:这些命令是针对Wagtail 1.8的vanilla安装运行的。我没有创建任何自定义模型或数据类型或进行任何修改,因此唯一的现有数据由站点和页面组成。
答案 0 :(得分:0)
您的夹具(可能)是正确的 - 但是,Wagtail的测试环境配置为使用a custom user model,因此在具有标准用户模型的安装上创建的夹具不会兼容。
通过对两个模型的快速比较,应该可以手动编辑“auth.user”#39;夹具中的记录如下:
"model": "auth.user"
更改为“"型号":" customuser.customuser" "date_joined"
字段"country"
和"attachment"
;这些可以设置为空字符串