Ok Ich schreibe Tests für meine Django App. Ich versuche, einen Weg zu finden, um über die Tests für einen Ajax-Register-Aufruf für die entsprechenden Antworten zu iterieren. Es funktioniert, aber ich weiß, dass es auf eine effizientere Weise getan werden kann.mehr Pythonic Weg zu testen
def test_ajax_register(self):
c = Client()
# Check register success
response = c.post('/register/', {
'register-username': 'testuser',
'register-email': '[email protected]',
'register-password': 'password'
})
self.assertEqual(json.loads(response.content)['status'], 'success')
self.assertEqual(response.status_code, 200)
# Check register failed username taken
response = c.post('/register/', {
'register-username': 'testuser',
'register-email': '[email protected]',
'register-password': 'password'
})
self.assertEqual(json.loads(response.content)['status'], 'fail')
self.assertEqual(json.loads(response.content)['error_msg'], 'username already in use')
# Check register failed email in use
response = c.post('/register/', {
'register-username': 'testuser1',
'register-email': '[email protected]',
'register-password': 'password'
})
self.assertEqual(json.loads(response.content)['status'], 'fail')
self.assertEqual(json.loads(response.content)['error_msg'], 'email already in use')
# Check register failed password length
response = c.post('/register/', {
'register-username': 'testuser2',
'register-email': '[email protected]',
'register-password': 'pass'
})
self.assertEqual(json.loads(response.content)['status'], 'fail')
self.assertEqual(json.loads(response.content)['error_msg'], 'password must be atleast 8 characters long')
Wenn Ihr Code funktioniert, denken Sie an [codereview.se]. – usr2564301