【问题标题】:pytest bdd pass @scenario modulepytest bdd 通过@scenario 模块
【发布时间】:2016-01-26 00:14:20
【问题描述】:

我找不到当 pass 没有立即跟随 @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 的模块除了每次都写通行证之外还有其他用途吗?

【问题讨论】:

标签: python bdd pytest


【解决方案1】:

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

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

pytest tests discovery

test_前缀测试函数或类外的方法

scenario decorator

用场景装饰器装饰的函数的行为就像一个普通的测试函数,它将在所有场景步骤之后执行。您可以将其视为普通的 pytest 测试功能,例如在那里订购灯具,调用其他函数并做出断言

Some more details (scenarios shortcut)

...通过手动方法,您可以获得额外的参数化测试、给测试函数起一个好听的名称、记录它等等...

【讨论】:

  • 最后一个链接中的快捷方式非常有用。 tl;博士:例如from pytest_bdd import scenarios; scenarios('yourfile.feature')
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-15
  • 2018-06-14
  • 2021-11-30
  • 2020-12-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多