在pytest中,当其他函数使用fixture并在列表中存储值时,当传递给参数化方法时,相同的列表将变为空

2024-05-18 07:34:29 发布

您现在位置:Python中文网/ 问答频道 /正文

当其他函数使用fixture并将值存储在列表中时。当传递到参数化方法时,列表将变为空。但如果它是正常的测试方法。列表值与预期值相同。请帮助我。如何解决这个问题

代码:

这段代码从命令行读取url,并将所有url存储在页面列表中

page_list=[]
def test_setup(cmdopt):
        base_url = 'original url'
        r = requests.get(str(cmdopt) + 'sitemap.xml')
        sitemap_root = xmltodict.parse(r.text)
        # page_list = []
        for every_url in sitemap_root['urlset']['url']:
                if '/job/'not in every_url['loc']:
                        page_name = every_url['loc'].split('/')[-1]
                        page_list.append((page_name, every_url['loc']))

"""page list passing to this method"""
@pytest.mark.parametrize("pagename,url",page_list)
def test_eval(pagename, url):

这里page_list将是空的


Tags: 代码nameintesturl列表defpage