Как вы имитируете запросы с логами сравнения c для тестирования в DJANGO - PullRequest
0 голосов
/ 06 августа 2020

Допустим, у меня есть два класса:

class Classroom(models.Model):
   num_of_students= models.IntegerField

class School(models.Model):
   classroom = models.ForeignKey(Classroom, on_delete=models.CASCADE)

Я пытаюсь написать Mock, который бы возвращал записи для этого запроса:

School.objects.filter(classroom__num_of_students__lt=40)

Пока что в тесте у меня есть

school = School()
classroom = Classroom(num_of_students=10)
mock.patch.object(school, 'classrooms', MockSet(classroom))
mock.patch.object(School, 'objects', MockSet(school))

Я не хочу издеваться над «фильтром». Я бы хотел, чтобы фильтр сохранил свое поведение.

...