Почему, когда я запускаю один тест, он проходит, но когда я запускаю все тесты, он падает - PullRequest
0 голосов
/ 22 апреля 2019

Я написал тесты для интерфейса администратора в проекте django, и все тесты проходят отдельно, но когда я запускаю класс с тестами, он не работает.

Класс с тестами (test_admin.py):

from django.forms.models import model_to_dict
from django.test import TestCase
from core.tests.test_data import TestDataAbs

from apps.doctor.models import Doctor, DoctorSchedule, DoctorSpecialization
import apps.doctor.admin as admin_models

OK_STATUS_CODE = 200


class TestAdmin(TestCase, TestDataAbs):
    def setUp(self):
        self.test_root_user = self.root_user 
        self.client.login(username=self.root_user_test_data['username'], password=self.root_user_test_data['password'])

def tearDown(self):
    self.client.logout()

def test_add_doctor(self):
    admin_tickets_pages = TestDataAbs.get_admin_urls('doctor', admin_models)
    self.client.post(admin_tickets_pages['doctor_add'],
                     data=model_to_dict(Doctor.get_first_or_create()))
    response = self.client.get(admin_tickets_pages['doctor_change'])
    self.assertEqual(response.status_code, OK_STATUS_CODE)

def test_add_doctor_specialization(self):
    admin_tickets_pages = TestDataAbs.get_admin_urls('doctor', admin_models)
    self.client.post(admin_tickets_pages['doctorspecialization_add'],
                     data=model_to_dict(DoctorSpecialization.get_first_or_create()))
    response = self.client.get(admin_tickets_pages['doctorspecialization_change'])
    self.assertEqual(response.status_code, OK_STATUS_CODE)

def test_add_doctor_schedule(self):
    admin_tickets_pages = TestDataAbs.get_admin_urls('doctor', admin_models)
    self.client.post(admin_tickets_pages['doctorschedule_add'],
                     data=model_to_dict(DoctorSchedule.get_first_or_create()))
    response = self.client.get(admin_tickets_pages['doctorschedule_change'])
    self.assertEqual(response.status_code, OK_STATUS_CODE)

Выполнить один тест:

Выполнить класс с тестами: enter image description here

...