繁体   English   中英

在运行测试 DRF 之前创建用户

[英]create users before running tests DRF

我想运行 django 测试,但我想在运行测试之前创建一些用户,用户的用户名将是 class 的属性,并且可以在所有测试中共享,如下所示:

class DoSomeTests(TestCase):


    def setup_createusers(self):
             self.usr1 = create_user1()
             self.usr2 = create_user1()
             self.usr3 = create_user1()
    def test_number_one(self):
               use self.user1/2/3
    def test_number_two(self):
               use self.user1/2/3
    def test_number_three(self):
               use self.user1/2/3


我该怎么做,因为每次我尝试测试时都无法识别自己的属性我尝试使用 setupclass 和 setUp 但什么也没发生

在运行测试之前创建用户

通常(和个人),自从引入setUpTestData以来,我使用这个,但您也可以根据您的方法和需要使用setUp 为了使用setUpTestData ,你需要放置一个class decorator并使用cls而不是self来处理它,因为你想为整个 TestCase 设置数据,例如:

class TestViews(TestCase):
    @classmethod
    def setUpTestData(cls):
        cls.user1 = User.objects.create_user(........)
        cls.user2 = User.objects.create_user(........)
        cls.user3 = User.objects.create_user(........)

然后在您的测试中,为了访问(并登录)您可以使用的每个用户:

   def test_number_one(self):
        test_user = self.user1
        self.client.force_login(test_user)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM