首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pytest-BDD步骤参数作为*args

Pytest-BDD步骤参数作为*args
EN

Stack Overflow用户
提问于 2022-01-25 07:33:24
回答 1查看 277关注 0票数 0

是否可以在pytest-bdd中使用*args之类的步骤参数?

例如,我的场景:

代码语言:javascript
复制
Scenario: Data Creation
    Given login with USER1 and role ADMIN
    Then set expert portal mode
    Then fill section Name with Alexa
    Then fill section Phonenumbers with 490000000,490000001
    Then fill section Kontakt with admin@yahoo.com,AdminName,490000002

步骤执行:

代码语言:javascript
复制
@then(parsers.parse("fill section {section_name} with {fill_data}"))
def fill_section(app, section_name, fill_data):
    app.siptrunk.fill_section(section_name, fill_data)

和执行情况:

代码语言:javascript
复制
def fill_section(self, section, *args):
 ...some code...

如何在“步骤实现”中处理*args以正确地将参数传递到函数中?

EN

回答 1

Stack Overflow用户

发布于 2022-10-05 12:40:32

我认为使用*args是不可能的,可以使用list作为step参数,但是对于解析,需要使用:cfparse

代码语言:javascript
复制
@then(parsers.cfparse("fill section {section_name} with {fill_data:Number+}", extra_types={"Number": int}))
    def fill_section(app, section_name, fill_data):
        type(fill_data)   # <class 'list'>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70844869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档