pytest bdd传递@scenario模块

时间:2016-01-26 00:14:21

标签: python bdd pytest

我无法找到传递不遵循@scenario装饰器的模块定义的情况。

#For example:
@scenario('myFileName.feature', 'my scenario title')
def my_scenario_module1():
   pass

@given(blah blah)
  blah blah actual code

...blah blah other decorators (ie: @when @then)

我知道该场景是在@given,@ when和@then中测试的。但@scenario之后传球的重点是什么? @scenario的模块是否有目的,而不是每次都写一次传递?

1 个答案:

答案 0 :(得分:0)

我也在某个阶段想知道。这是我从pytest-bdd开发团队得到的答案:

https://github.com/pytest-dev/pytest-bdd/issues/279

  

pytest tests discovery

     

test_在类外部带有前缀的测试函数或方法

scenario decorator

  

使用场景装饰器装饰的函数的行为类似于正常的测试功能,它将在所有场景步骤之后执行。您可以将其视为常规的pytest测试功能,例如在此订购灯具,调用其他功能并进行断言

Some more details (scenarios shortcut)

  

...通过手动方法,您将拥有所有能力,可以对测试进行参数化,为测试函数起一个漂亮的名字,对其进行记录等...