能否为单个Gherkin步骤实现添加两个不同的Gherkin注解?
关于Gherkin步骤注解的两个问题解答
- 单个Gherkin步骤实现可以同时使用多个Gherkin注解(比如示例里的@Given和@Then),像Python的Behave这类主流BDD框架都支持这种写法,核心是让同一段业务逻辑能复用在不同的场景步骤中。
- 完全可以为一个步骤实现绑定两个不同的Gherkin步骤,这就是通过给同一个函数添加多个步骤注解来实现的,你的示例代码就是标准用法。
示例代码如下:
@Given('a user signs up for a new "{country}" account') @Then('Select "{country}" on country selector') def choose_country(context, country): match country: case "Country A": context.country_code = "A" case "Country B": context.country_code = "B"
这段代码里,choose_country函数同时对应两个不同的Gherkin步骤:一个是前置场景中的用户注册选国家步骤,另一个是后续的国家选择器操作步骤,两者共享相同的国家代码映射逻辑,减少了代码冗余。
内容的提问来源于stack exchange,提问作者krisc
相关产品推荐
相关产品推荐

