![](/img/trans.png)
[英]Running certain steps once before a scenario outline - Python Behave
[英]Execute precondition only once before running behave tests
我想在運行一堆測試(在場景大綱中定義)之前只運行一次precondition
。
假設我有這樣的feature file
:
Background:
Given Fan is powered
#Test to check fan speed
@TEST_FAN-1 @SuperFan
Scenario Outline: Checking fan speed
Given fan is not running
When send speed command with <speed>
Then fan is running with <speed>
Examples:
| speed |
| 5 |
| 50 |
| 100 |
我已經定義了Given Fan is powered
如下:
@given("Fan is powered")
def step_impl(context):
assert conetxt.fan.is_powered
這個先決條件在場景大綱中定義的每個測試之前執行。 有沒有辦法只運行一次?
一種可能性是在before_all
添加上下文屬性以跟蹤相關步驟之前是否已執行。 這仍將在日志中顯示該步驟,但后續嘗試將無操作。
def before_all(context):
context.precondition_cache = set()
@given("fan is powered")
def step_impl(context):
if "fan is powered" not in context.precondition_cache:
# power up the fan
context.precondition_cache.add("fan is powered")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.