如何从behave命令获取当前的标记集

时间:2017-10-09 21:50:16

标签: python python-behave

我是新行为BDD。我想根据命令行中传递的标记去一些逻辑。当我做context.tags / context.scenario.tags时,我将获得在该场景中定义的所有标签。如何只获取从命令行传递的标记

先谢谢

2 个答案:

答案 0 :(得分:0)

您传递给CLI的标签实际上并不是您设置的标签,而是标记您选择执行(或排除执行,具体取决于方式你传递了他们)。我只说只有Behave的跑步者可以访问这些数据。

如果要根据传递给CLI的参数实现不同的行为,请使用--define选项(请参阅here

然后您需要做的就是通过context.config.userdata检索您的数据 假设您想要定义参数x,您可以像这样调用Behave:

behave --define x=1 test.feature

然后在步骤定义中检索已定义的数据,如下所示:

x = context.config.userdata['x']

答案 1 :(得分:0)

如果您确实需要,您可以从 context.config._tags 获取此信息。 它应该返回带有标签/标签表达式的字符串列表。

例如,当你运行时:

beahve --tags ~@fixme --tags @buggy,@test

context.config._tags 将具有价值:

['~@fixme', '@buggy,@test']
相关问题