可以用Behat排除标签吗?

sen*_*rio 17 behat

我知道只运行标记为选中的测试的方法@tag:

@invite
Feature: As User I want to invite a friend to join on MySocial

  @mytag
  Scenario: Exists a Facebook user
    Given I go to "/"
    When I follow "Invite a friend"
    ...
Run Code Online (Sandbox Code Playgroud)

有可能完全相反吗?

Jak*_*las 42

是的,可以从命令行中排除标记或标记列表:

behat --tags '~@javascript'
Run Code Online (Sandbox Code Playgroud)

也可以在behat.yml中的配置文件中设置排除(和包含)标签.

Behat 2.x

default:
  filters:
    tags: "~@wip&&~@postponed&&~@disabled"
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我排除了任何被调查@wip(正在进行中)的事情,@postponed或者@disabled.

Behat 3.x

在Behat 3中,您不仅可以为配置文件配置标记,还可以为套件配置标记.语法有点不同:

default:
    gherkin:
        filters:
            tags: "~@wip&&~@disabled"

suites:
    admin:
        filters:
            tags: "@admin"
Run Code Online (Sandbox Code Playgroud)

相关文档


小智 6

如果你只想做一个标签,就像 Jakub 说的:

behat --tags '~@javascript'
Run Code Online (Sandbox Code Playgroud)

如果您想使用 @Done 而不是 @javascript 之类的标签运行多个场景:

behat --tags '@Done&&~@javascript'
Run Code Online (Sandbox Code Playgroud)