Python Mock局部函数变量



如何模拟函数的局部变量?例如,在下面的代码中,如何在pytest中为用户名和主机变量赋值?

def get_ldap_groups():
host= None
username = None
# call search method
result = search(username, host)

我建议将hostusername作为参数传递给函数。

您不仅可以模拟它,还可以免除该函数为搜索函数创建主机和用户名依赖关系的责任(这被称为依赖性注入(。

这之所以好,是因为它使更改功能变得更容易。想象一下,你在多个地方使用它,每次使用都必须更改它,而不仅仅是从环境变量中读取它们(例如(。当然还有你的问题的解决方案,它解决了;它使您能够更容易地测试代码。

最新更新