chartinger/around-hook-extension

此包已被废弃且不再维护。未建议替代包。

支持 Behat v3 的 Around 钩子

安装: 14

依赖者: 0

建议者: 0

安全性: 0

星标: 2

关注者: 1

分支: 0

开放问题: 0

类型:behat-extension

dev-master 2014-06-07 16:45 UTC

This package is not auto-updated.

Last update: 2020-01-20 03:42:29 UTC


README

支持 Behat 3 的 Around 钩子

本项目旨在模拟 Cucumber around feature 在 Behat 3.x 中

示例

假设您想使用多个屏幕分辨率运行相同的场景,它可能看起来像这样

...
  /**
   * @AroundScenario
   */
  public function runWithMultipleWindowSizes(AroundScenarioScope $scope)
  {
    $this->width = 1920;
    $scope->callBlock(" [1920]");
    $this->width = 800;
    $scope->callBlock(" [800]");
  }
  
  /**
   * @BeforeScenario
   */
  public function resizeWindow()
  {
    $this->getSession()->resizeWindow($this->width, $this->height);
  }
...

callBlock() 的可选参数中,您可以定义场景标题的后缀

Behat 的示例输出可能为

...
  Scenario: Simpler Test [1920]
    Given I am on "http://somehomepage"
    When I do something
    Then i should see "Hello World"

  Scenario: Simpler Test [800]
    Given I am on "http://somehomepage"
    When I do something
    Then i should see "Hello World"

...

安装

在您的 composer.json 中添加

{
    "require": {
        ...
        "chartinger/around-hook-extension": "*@dev"
    }
}

并更新您的依赖项

使用方法

要激活此扩展,请将其添加到您的 behat.yml

default:
  extensions:
    chartinger\Behat\AroundHookExtension\AroundHookExtension: ~

现在您可以在 Behat Context 中使用 @AroundScenario 注解

  use chartinger\Behat\AroundHookExtension\AroundScenarioScope;
  
  ...
  
  /**
   * @AroundScenario
   */
  public function aroundScenario(AroundScenarioScope $scope)
  {
    $scope->callBlock();
  }