我有一个模型:
class Evaluation(models.Model):
def abc(self):
#some logic here
return something
我还有另一个函数,它使用这个函数:
^{pr2}$现在,当我为filter_graded
方法编写测试时,我模拟is_completely_graded
为某些实例返回true/false。测试调用实际的is_completely_graded
,而不是尊重mock。我怎么解决这个问题?在
我的测试看起来像:
def test_filter_graded(self):
eval1 = G(Evaluation)
eval2 = G(Evaluation)
eval1.is_completely_graded = mock.MagicMock(return_value=True)
eval2.is_completely_graded = mock.MagicMock(return_value=False)
filter_graded(Evaluation.objects.all())
self.assertEqual(len(result), 1)
您没有传入模拟对象。您正在传递真实数据:
你没有模仿过}或{}。在
Evaluation
或{如果您的代码所做的只是用
^{pr2}$is_completely_graded
方法查找对象,只需将mock作为序列传递,不需要任何ORM查询:相关问题 更多 >
编程相关推荐