我怎么能忽略 behat 中的功能?
How I can ignore feature in behat?
我正在使用 behat
和 laravel
。
我有一些我想在测试中忽略的功能。
所以我有内部功能文件夹:
- 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
的功能和场景。
我正在使用 behat
和 laravel
。
我有一些我想在测试中忽略的功能。
所以我有内部功能文件夹:
- 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
的功能和场景。