Python 模拟QuerySet函数

Python 模拟QuerySet函数,python,django,unit-testing,Python,Django,Unit Testing,我正在为Django项目创建测试用例,从模型实例中检索值 比如说, instanceDog = models.Dog() 这将导致另一个模型,Tail,并由以下人员读取: instanceDog.tail.all()[0].value 但是在单元测试中,我似乎无法模拟all()函数。 现在我有 @mock.patch('path.to.code.models.Dog.all') @mock.patch('path.to.code.models.Dog.objects.all') @mock

我正在为Django项目创建测试用例,从模型实例中检索值

比如说,

instanceDog = models.Dog() 
这将导致另一个模型,
Tail
,并由以下人员读取:

instanceDog.tail.all()[0].value
但是在单元测试中,我似乎无法模拟
all()
函数。 现在我有

@mock.patch('path.to.code.models.Dog.all')
@mock.patch('path.to.code.models.Dog.objects.all')
@mock.patch('path.to.code.models.Tail.all')
@mock.patch('path.to.code.models.Tail.objects.all')
如果设置为
mock_all
,则使用

mock_all.return_value = [models.Tail(value='value')]