Как проверить, какое поле вызвало ошибку ValidationError в Django REST Framework - PullRequest
0 голосов
/ 16 октября 2018

Я использую self.assertRaisesMessage(rest_framework_exceptions.ValidationError, expected_message) для проверки своих пользовательских валидаторов.Есть ли способ использовать это или что-то похожее на , утверждающее, какое поле вызвало ошибку проверки?

Случай использования состоит в том, что у меня есть два средства проверки, которые вызывают одну и ту же ошибку дляразличные поля, и из-за связи между ними (дата начала и окончания) невозможно написать тест, который не будет выполнен до введения даты окончания и который также завершится успешно по правильной причине после введения концадата.

1 Ответ

0 голосов
/ 16 октября 2018

Можете ли вы подтвердить ошибку, протестировав всю форму?Нравится:

class FooSerializer(Serializer):
    start_date = DateField()
    end_date = DateField()

foo = FooSerializer(data={'start_date': '2018-01-01', 'end_date': 'incorrect value'})
self.assertFalse(foo.is_valid())
self.assertNotIn('start_date', foo.errors)
self.assertIn('end_date', foo.errors)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...