如何运行特定的 Behat 方案

2022-08-30 12:56:05

我正在尝试从命令行运行特定的Behat场景,以下是我正在做的:

$ bin/behat features/features/baseline.feature:3

但是,这并不是在拾取场景。

如果我跑步

bin/behat features/features/baseline.feature

我可以让整个功能文件运行。

下面是该文件的外观 - 我尝试运行的方案位于文本编辑器中的第 3 行:

Feature:
  @api
  Scenario: Clear cache
    Given the cache has been cleared
    When I am on the homepage
    Then I should get a "200" HTTP response

  Scenario:
    Given I am not logged in
    When I am on the homepage
    Then I should see the text "We love our users"

答案 1

首先,您应该添加功能文件的完整描述,例如:

Feature: Home page functionality
  In order to use application functionality
  As a website user
  I need to be able see the home page

并且还应该有一个描述。Scenario

您可以使用标签运行 behat 场景:

bin/behat --tags @api

基本上每个罐都有自己的标签。Behat 命令将尝试查找具有该标记的所有方案。Scenario@api

您也可以为整个功能文件指定标记:

@whole-feature-file
Feature: Home page functionality

使用名称的一部分运行方案:

bin/behat --name="element of feature"

或者根据@greggles评论:

指定特征文件名和行号,例如

bin/behat features/file.feature:123 

其中 123 是行号,如Scenario: Clear cache

有关更多详细信息,请参阅 behat 文档


答案 2

发现您只需使用任何自定义标记即可标记方案,例如。@foobar

Feature:
  @api @foobar
  Scenario: Clear cache
    Given the cache has been cleared
    When I am on the homepage
    Then I should get a "200" HTTP response

  Scenario:
    Given I am not logged in
    When I am on the homepage
    Then I should see the text "We love our users"

然后仅使用以下方式运行此方案:

behat --tags foobar

推荐