您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python unittest模拟:是否可以在测试时模拟方法的默认参数的值?

Python unittest模拟:是否可以在测试时模拟方法的默认参数的值?

func_defaults定义函数后,函数会将其参数认值存储在属性中,因此可以对其进行修补。就像是

def test_build_url(self):
    """ If only endpoint is supplied should default to settings"""

    # Use `func_defaults` in Python2.x and `__defaults__` in python3.x.
    with patch.object(build_url, 'func_defaults', ('domain',)):
      result = build_url('/end')
      expected = 'domain/end'

    self.assertEqual(result,expected)

patch.object用作上下文管理器而不是装饰器,以避免不必要的补丁对象作为参数传递给test_build_url

python 2022/1/1 18:28:17 有181人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶