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/')
이 소스의 실제 들여 쓰기인가를? – lanzz
아니, 복사 할 들여 쓰기입니다. 죄송합니다, 나는 여기에 코드를 리팩토링 할 것이라고 생각합니다 ... –
Done, code refactored;) –