如何在 python 中对 super() 调用进行单元测试



我有以下mixin:

class MixinToAddOnMyClass:
def get_data(self, request):
try:
data = super().get_processed_data(request)
except Exception:
data = {'error': 'Invalid data request'}

我想测试这个 mixin 类 - 但是当我必须创建一个模拟类来继承它以便我可以测试super()调用时,我发现它不是那么干净。

单元测试它的最佳方法是什么?

最终找到了一种方法。似乎您可以模拟内置方法:

@patch('<path_to_mixin_file>.super')
def test_get_data_when_no_exception(self, super):
super.get_processed_data.return_value = True
self.assertTrue(MixinToAddOnMyClass.run_validation())

最新更新