0
这是我的UserTestCase(APITestCase)类中的两个函数。资本变量是不变的。有没有什么方法可以测试API,而不是在test_create_user函数中创建过多的常量和类似“data”的数据? django中的初始数据测试的最佳做法是什么?django - 测试中的初始数据
def setUp(self):
self.client = APIClient()
# create staff
self.admin = User.objects.create_user(email=ADMIN, password=PASSWORD)
self.admin.is_staff = True
self.admin.is_active = True
self.admin.save()
self.user = User.objects.create_user(email=ADMIN, password=PASSWORD)
self.user.is_active = True
self.user.save()
def test_create_user(self):
login = self.client.login(email=ADMIN, password=PASSWORD)
self.assertTrue(login)
data = {
'email': EMAIL,
'password': PASSWORD,
'first_name': FIRSTNAME,
'last_name': LASTNAME,
'nationality': NATIONALITY,
'is_active': True,
}
# configure urls
url = reverse('apiv2:user-list')
# url1 = reverse('apiv2:user-detail', args=[self.user.id])
# create new user
user = self.client.post(url, data, format='json')
self.assertEqual(user.status_code, 201)
# login after create
login = self.client.login(email=string_normalize(
self.data.email),
password=PASSWORD
)
self.assertTrue(login)
self.client.logout()
你在找什么叫做“灯具”。在你正在使用的测试框架的文档中寻找这个词。 –
我不需要真实数据库的转储数据。例如,我只需要一些字段,以便测试PUT API。 @HåkenLid – achilles
是的。无论您是使用数据库转储还是在设置功能中创建它,它仍称为夹具数据。 –