Django TestCase проверяет ValidationError с помощью assertRaises in is throwing ValidationError

У меня есть модель, в которой я переопределил функцию сохранения примерно так:

class MyModel(models.Model):
  number = models.PositiveIngeter()
  def save(self,*args, **kwargs)
    if self.number > 10:
      super().save(*args, **kwargs)
    else:
      raise ValidationError('msg')

а функция, которую я тестирую, имеет вид

def test_number(self):
  myModel = MyModel(number=5)
  self.asserRaises(ValidationError,myModel.save())

the error i got is like this:
ERROR: test_number(apps.players.tests.test_models.CityDetailTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/sagar/project/apps/players/tests/test_models.py", line 738, in test_city_detail_when_tier_is_not_allowed
    myModel.save()
  File "/home/sagar/.pyenv/versions/3.5.9/lib/python3.5/contextlib.py", line 30, in inner
    return func(*args, **kwds)
  File "/home/sagar/project/apps/players/models.py", line 2452, in save
    raise ValidationError("msg")
rest_framework.exceptions.ValidationError: ['msg']

Я новичок в Django и не могу понять, что здесь не так

Вам не нужно вызывать метод, просто передайте его в качестве параметра:

self.asserRaises(ValidationError, myModel.save)
Вернуться на верх