我好像不能用Python来嘲笑别人。我有一个全球职能:
一份:
def has_permission(args):
ret_val = ...get-true-or-false...
return ret_val
b.py公司:
class MySerializer(HyperlinkedModelSerializer):
def get_fields():
fields = super().get_fields()
for f in :
if has_permission(...):
ret_val[f.name] = fields[f]
return ret_val
c.py公司:
class CountrySerializer(MySerializer):
class Meta:
model = Country
问题:现在我想测试c.py,但我想模拟a.py中定义的、但在b.py中定义的类MySerializer的get-fields-method中调用的具有权限的函数。。。我该怎么做?
我试过这样的事情:
@patch('b.MySerializer.has_permission')
以及
@patch('b.MySerializer.get_fields.has_permission')
以及
@patch('a.has_permission')
但是我所尝试的一切要么就是不起作用,并且仍然执行has_permission,要么python抱怨它找不到属性has_permission
修补完成后:
测试.py
class TestSerializerFields(TestCase):
@patch(... the above examples....)
def test_my_country_serializer():
s = CountrySerializer()
self..assertTrue(issubclass(my_serializer_fields.MyCharField, type(s.get_fields()['field1'])))
目前没有回答
相关问题 更多 >
编程相关推荐