Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在allure.step中显示变长参数列表?_Python_Allure - Fatal编程技术网

Python 如何在allure.step中显示变长参数列表?

Python 如何在allure.step中显示变长参数列表?,python,allure,Python,Allure,Allure支持带有函数参数的步骤名称 但它适用于确定的函数变量计数。是否可以在**args和**kwargs参数的情况下显示所有变量? 差不多 @allure.step('my step with parameter **kwargs}') def my_step(**kwargs): pass allure.step调用步骤标题上的format方法以形成实际的步骤名称 见来源于 到目前为止,字符串格式无法显示变量参数字符串 为了解决您的问题,您可以尝试使用format方法将包装器

Allure支持带有函数参数的步骤名称

但它适用于确定的函数变量计数。是否可以在**args和**kwargs参数的情况下显示所有变量? 差不多

@allure.step('my step with parameter **kwargs}')
def my_step(**kwargs):
    pass

allure.step
调用步骤标题上的
format
方法以形成实际的步骤名称

见来源于

到目前为止,字符串格式无法显示变量参数字符串

为了解决您的问题,您可以尝试使用
format
方法将包装器对象传递给步骤标题,该方法将处理任何自定义逻辑

另外,欢迎您发送任何pull请求,以可能修复
allure python
本身中的参数传递登录

干杯

@allure.step('my step with parameter **kwargs}')
def my_step(**kwargs):
    pass
class MyFancyStepTitle(object):
    def __init__(self, title):
        self.title = title
    def format(self, *a, **kw):
        return self.title.format(args=a, kwargs=kw)

@allure.step(MyFancyStepTitle('Function called with args {args}, kwargs {kwargs}'))
def my_fancy_function(*a, **kw):
    return 'OK'

def test_foo():
    # should produce step named 
    # "Function called with args [1, 2, 3], kwargs {'foo': 'bar', 'baz': '123'}"
    my_fancy_function(1, 2, 3, foo='bar', baz='123')