Создание пользователей перед запуском тестов DRF
Я хочу запускать тесты django, но я хочу создать несколько пользователей перед запуском теста, и имя пользователя будет атрибутом класса и может быть общим для всех тестов, примерно так:
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)