我怎么能忽略 behat 中的功能?

How I can ignore feature in behat?

我正在使用 behatlaravel。 我有一些我想在测试中忽略的功能。 所以我有内部功能文件夹:
- a.feature
- b.feature
- c.feature

我想从测试中排除功能 c。目前,如果我想从测试中排除功能 c,我必须重命名它 - 例如 "c.feature.tmp".
有没有更智能的方法……比如在 java 或 .NET 中我们有 @Ignore 注释。

您可以给不想测试的功能添加标签,例如 @notesting 然后 运行 像这样。

behat --tags '~@notesting'

~ 符号是 NOT 运算符。

或者像@grzegorz-zadja提到的你也可以使用test suites

在您的功能文件正上方的功能中:您可以放置​​标签。只需在此处添加 @notesting。见 documentation.

标签过滤器支持三种逻辑运算符:

commas 分隔的标签将使用 OR 操作合并 由 && 分隔的标签将使用 AND 操作组合 使用 NOT 操作

将排除以 ~ 开头的标签

例如:

  • $ behat --tags '@orm,@database'
  • $ behat --tags 'ticket,723'
  • $ behat --tags '@orm&&@fixtures'
  • $ behat --tags '~@javascript'
  • $ behat --name 'number has'

第一个命令将 运行 仅具有 @orm@database 标签(或两者)的特征或场景。

第二个命令将 运行 仅具有 @ticket@723 标签(或两者)的特征或场景。

第三个命令将 运行 仅具有 @orm@fixtures 标签(必须同时具有)的功能或场景。

第四条命令将 运行 所有未标记为 @javascript 的功能或场景。 (除了标记为 @javascript 的所有内容)

第五条命令将 运行 仅在标题中包含 number has 的功能和场景。


gherkin filters