Python状态内存问题

时间:2015-09-02 17:30:54

标签: python

我正在编写一些python(特别是行为测试)并被某种状态记忆烧毁。

在其他一些模块中,我们有一个构建http头的方法:

def create_login_headers(headers={}, username=DEFAULT, password=DEFAULT)

在我的行为步骤文件中,我有一个接受头参数的方法,但如果没有提供一个参数,则调用上面的内容:

def post(header=create_login_headers())

通常我会通过调用post()

来获取默认标头

对于我的一些测试,我需要使用非默认用户。所以我打电话给这样的帖子:

post(header=create_login_headers("unprivileged_person","password"))

它工作正常。

但是由于post部分中的设置而调用的{em> next 对Background的调用开始失败!

很明显,标题是罪魁祸首。我将这件艺术品添加到我的背景部分:

@given(u'default headers')
def step_impl(context):
    h = create_login_headers()

问题消失了。 (h不是全局变量)。也许{}中的create_login_headers可能是罪魁祸首。

最后,我的问题 - python的哪一部分缓存旧标题? post中的函数调用只执行一次,然后使用最后一个值吗?

0 个答案:

没有答案