在 behave 中,如何只运行一个场景?

新手上路,请多包涵

我有一个“行为”功能,上面有很多测试。

我只需要运行一个特定的场景来满足开发需求。

我该怎么做?

(最好在命令行上)

原文由 Mark Lopez 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 698
1 个回答

如果要对该功能运行单个测试,请使用 -n--name 标志,它似乎需要 Scenario: 之后的文本

behave -n 'This is a scenario name'


您可以使用 -i--include 标志运行功能文件,然后使用功能文件的名称。

 behave -i file_name.feature

或者:

 behave --include file_name


您还可以使用 --exclude 标志排除:

 behave -e file_name


有关更多信息,请查看 命令行参数 文档。他们的附录部分隐藏了很多有用的信息。


注意:在我写这篇文章时,由于这个 问题,它不适用于 Python 3.6 和 Behave 1.2.5。 (更新:1.2.6 已发布并修复此问题,但如果您使用的是 python 3.4,则该版本将无法从 pip 获得,因此您可以使用 pip3 install git+https://github.com/behave/behave#1.2.6rc 解决此问题)。

似乎您应该能够在 Feature: 之后为 -i 标志传递文本,但目前这不起作用。如果它再次有效,有人提醒我更新。我还鼓励人们检查 wip 标志,它允许您添加 @wip 到测试中,然后 -wip 不仅可以运行测试,还可以打印/记录语句进行调试.

原文由 Cynic 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题