在test.py中,如何创建用户,并将用户添加到setUp函数中的组中?

时间:2019-02-05 08:42:17

标签: django django-models django-forms django-views

在编写测试时,除非您属于某个组,否则我的大多数应用程序都是隐藏的,因此,我将需要成为属于该组的测试用户。我想在setUp函数中执行此操作,以便随后的所有函数都可以使用该用户。

2 个答案:

答案 0 :(得分:0)

只需添加它:

def setUp(self):
    self.user = User.objects.create(...)
    self.special_group = Group.objects.create(...)
    self.user.groups.add(special_group)

答案 1 :(得分:0)

首先在本地数据库中创建测试用户,然后只需使用 manage.py dumpdata 命令创建固定文件。这将创建夹具文件,如下所示:

[{"model": "auth.user",
"pk": 1,
"fields": {
  "password": "pbkdf2_sha256$24000$myfvqrG84hps$vkEWoQW3L7MsnBI90H/5TBzV8Ad1cQVm1zFms6e4eEE=",
  "last_login": "2017-03-20T07:02:48.575Z",
  "is_superuser": true,
  "username": "test",
  "first_name": "",
  "last_name": "",
  "email": "",
  "is_staff": true, "is_active": true,
  "date_joined": "2016-01-07T11:22:24.007Z",
  "groups": [],
  "user_permissions": []}}]

假设文件名为“ xyz.json”,然后按如下所示加载此Fixture文件:

class ResourcesTestCase(TestCase):
fixtures = ['xyz']

您已经完成了,现在您可以在任意位置的测试用例中使用“测试”用户。