如标题所示,我希望在场景大纲之前运行一些特定的配置/环境设置步骤。我知道有Background
可以为场景执行此操作,但是Behave将场景大纲拆分为多个场景,从而为场景大纲中的每个输入运行后台。
这不是我想要的。出于某些原因,我无法提供我正在使用的代码,但是我将编写一个示例功能文件。
Background: Power up module and connect
Given the module is powered up
And I have a valid USB connection
Scenario Outline: Example
When I read the arduino
Then I get some <'output'>
Example: Outputs
| 'output' |
| Hi |
| No |
| Yes |
在这种情况下,将发生的是行为将关闭电源并检查每个输出的USB连接Hi
、No
、Yes
,从而导致三次电源关闭和三次连接检查
我想要的是Behave重启一次,检查一次连接,然后运行所有三个测试。
我该怎么做呢?
我也面临同样的问题。 有一个昂贵的
Background
,每个Feature
应该只执行一次。 解决这个问题实际上需要的是在Scenario
s之间存储状态的能力对于这个问题,我的解决方案是使用
behave.runner.Context#_root
,它在整个运行过程中都保持不变。我知道什么访问私人会员不是一个好的做法-我会很高兴学习更清洁的方式。您最好的选择可能是使用
before_feature
环境钩子和 特征上的标记和/或b)特征名称。例如:
一些功能
步骤/环境.py
替代步骤/环境.py
相关问题 更多 >
编程相关推荐