2014-02-21 3 views
2

아침, django.test.TestCase에서 테스트 상속을 사용하고 있는데 setupclass 메소드를 사용하는 데 문제가 있습니다. 데이터베이스에 대한 액세스 권한이 있기 때문에이 오류가 발생합니다. "실패 : 데이터베이스 액세스가 허용되지 않습니다. 사용 "django_db"마크를 활성화하려면 ", 그러나 나는 django_db 마크를 사용하고 있습니다. 다음은 코드입니다.setupclass의 django_db 마크와 관련된 문제

from django.test import TestCase 

@pytest.mark.django_db 
class ViewAllBeneficiariesTest(TestCase): 
''' Tests for Beneficiary ''' 

    @classmethod 
    def setUpClass(cls): 
     cls.u = model_mommy_create_user_permission_all() 

    def test_clients_view_all_beneficiaries_get_ok(self): 
     #Arrange: 
     self.client.login(username=self.u.username, password="admin") 
     #Act: 
     res = self.client.get('/clients/beneficiaries/all/') 

     #Assert: 
     self.assertEqual(res.status_code, 200) 
     self.assertTemplateUsed(res, 'clients/search_beneficiaries.html') 

    def test_clients_view_all_beneficiaries_404(self): 
     #Arrange: 
     self.client.login(username=self.u.username, password="admin") 
     #Act: 
     res = self.client.get('/clients/beneficiaries/all/') 

     #Assert: 

     self.assertEqual(res.status_code, 404) 

    def test_clients_view_all_beneficiaries_fail(self): 
     #Arrange: 
     #Act: 
     res = self.client.get('/clients/beneficiaries/all/') 

     #Assert: 

     self.assertEqual(res.status_code, 302) 
     self.assertRedirects(res, '/accounts/login/') 
+0

이 소스의 실제 들여 쓰기인가를? – lanzz

+0

아니, 복사 할 들여 쓰기입니다. 죄송합니다, 나는 여기에 코드를 리팩토링 할 것이라고 생각합니다 ... –

+0

Done, code refactored;) –

답변

1

이 내용은 pytest-django의 master 분기에서 수정되었습니다.

당신은 그것에 대해 읽을 수 here 나는 다음과 같은 명령을 실행하여 pip으로 설치 할 수 있었다

-

pip install https://github.com/pytest-dev/pytest-django/zipball/master