我无法找到传递不遵循@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的模块是否有目的,而不是每次都写一次传递?
答案 0 :(得分:0)
我也在某个阶段想知道。这是我从pytest-bdd开发团队得到的答案:
https://github.com/pytest-dev/pytest-bdd/issues/279
test_在类外部带有前缀的测试函数或方法
使用场景装饰器装饰的函数的行为类似于正常的测试功能,它将在所有场景步骤之后执行。您可以将其视为常规的pytest测试功能,例如在此订购灯具,调用其他功能并进行断言
Some more details (scenarios shortcut)
...通过手动方法,您将拥有所有能力,可以对测试进行参数化,为测试函数起一个漂亮的名字,对其进行记录等...