2015-01-08 4 views
1

Я попытался проверить свои взгляды с UnitTest как этотНе может войти с модульным тестированием в Джанго-allauth

class TestClassroomView(TestCase): 

def test_classroom_view(self): 
    auth_headers = {'HTTP_AUTHORIZATION': 'Basic ' + base64.b64encode('[email protected]:test')} 
    response = self.client.get('/classroom/3/', follow=True, **auth_headers) 
    self.assertContains(response, 'Course progress') 
    self.assertEqual(response.status_code, 200) 

И это:

class TestClassroomView(TestCase): 
def test_classroom(self): 
    self.client.login(username='[email protected]', password='test') 
    response = self.client.get('/classroom/3/', follow=True) 
    self.assertEqual(response.status_code, 200) 
    self.assertTemplateUsed(response, 'web/dashboard.html') 

response.redirect_chain всегда показывает этот

[('http://testserver/?next=/classroom/3/', 302)]

Если я оставляю только status_code check s тестирует прохождение, но на самом деле они ничего не проверяют. Я использую систему аутентификации django-allauth Пожалуйста, помогите мне выяснить, что я делаю неправильно.

Также как я могу загрузить светильники при запуске теста?

ответ

1

Именно это помогло мне с аутентификацией

from django.contrib.auth import get_user_model 

class TestParent(TestCase): 

    def setUp(self): 
    username = 'testuser' 
    password = 'testpass' 
    User = get_user_model() 
    user = User.objects.create_user(username, password=password) 
    logged_in = self.client.login(username=username, password=password) 
    self.assertTrue(logged_in) 
Смежные вопросы