тест не пройден: соответствующий запрос не существует - PullRequest
0 голосов
/ 23 апреля 2019

Я потратил весь день, пытаясь выяснить, откуда эта ошибка, но тщетно.Моя тестовая функция следующая:

def test_match_data_while_updating(self):
    # TST N.1 : Match is live
    # -------     
    match_updated_data1 = {
        'match': {
            'id': 1,
            'status': 'not_started',
        },
    }
    match1 = Match.objects.get(id=1)
    request = self.__class__.factory.put('', match_updated_data1, format='json')        
    add_authentication_to_request(request, is_staff=True)
    response = update_match_video(request)
    self.assertEqual(Match.objects.get(id=1).status,'live')

И это соответствующая часть функции, которую я тестирую:

def update_match_video(request):
    if not request.data.get('match').get('id'):
        return JsonResponse({}, status=status.HTTP_400_BAD_REQUEST)
    match_id = valid_data_or_error(request.data, method='PUT')['match_data']['id']

    try:
        match = Match.objects.get(id = match_id)
        db_match_status = match.status

        if db_match_status == 'live':
            valid_data_or_error(request.data, method='PUT')['match_data']['status'] = 'live'
        elif db_match_status == 'closed':
            valid_data_or_error(request.data, method='PUT')['match_data']['status'] = 'closed'
    except:
        print('Match does not exist')

Когда я использую команду:

$ python server/manage.py test --settings=skill.settings_test api.views.tests.test_views.ViewsTestCase

для запуска всех тестовых функций, содержащихся в файле / views / tests / test_views (этот файл содержит только один класс - ViewsTestCase со многими тестами), все тесты завершаются успешно, но когда я запускаю все свои тесты, которые находятся в папке /API / просмотров с использованием:

$ python server/manage.py test --settings=skill.settings_test api.views 

Я получаю следующую ошибку:

ОШИБКА: test_match_data_ while_updating (api.views.tests.test_views.ViewsTestCase)

Traceback(последний вызов был последним):

Файл "/home/yosra/Bureau/app/master/server/api/views/tests/test_views.py", строка 226, в test_match_data_ while_updating match1 = Match.objects.get (id = 1)

Файл "/home/yosra/Bureau/app/master/venv/lib/python3.6/site-packages/django/db/models/manager.py", строка 82, в manager_method вернуть getattr (self.get_queryset (), name) (* args, ** kwargs)

File "/ home / yosra / Bureau / app / master / venv / lib / python3.6 / site-packages / django / db / models / query.py ", строка 399, в get self.model._meta.object_name

api.models.match.Match.DoesNotExist: Запрос на совпадение не существует.

моя тестовая база данных не пуста и содержит экземпляр соответствия с id = 1.Также нет тестовой функции, которая удаляет этот элемент из моей базы данных.Может ли кто-нибудь дать мне указание, откуда это может исходить?

Я ценю вашу помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...