edno/codeception-gherkin-param
最新稳定版本:2.0.13
Composer 安装命令:
composer require edno/codeception-gherkin-param
包简介
Codeception module for supporting parameter notation in Gherkin features
README 文档
README
The Codeception module for supporting parameter notation in Gherkin scenario.
Minimum Requirements
- Codeception 3.x, 4.x, 5.x
- PHP 7.4 - 8.2 (use release 2.0.6 for older PHP versions)
Installation
The module can be installed using Composer
composer require edno/codeception-gherkin-param --dev
Be sure to enable the module in codeception.yml as shown in
configuration below.
Setup
Enabling Gherkin Param is done in codeception.yml.
modules: enabled: - Codeception\Extension\GherkinParam
Configuration
By default GherkinParam behavior is to keep the parameter string unchanged when the replacement value for a parameter cannot be found, i.e., the parameter does not exist or is not accessible.
onErrorThrowException
If true, then GherkinParam will throw an exception GherkinParam at runtime when a replacement value cannot be found for a parameter:
modules: enabled: - Codeception\Extension\GherkinParam: onErrorThrowException: true
If
onErrorThrowExceptionis set then it will overrideonErrorNullable.
onErrorNullable
If true, then GherkinParam will set to null parameters for which a replacement value cannot be found:
modules: enabled: - Codeception\Extension\GherkinParam: onErrorNullable: true
Usage
Once installed, you will be able to access variables stored using Fixtures.
Simple parameters
In scenario steps, the variables can be accessed using the syntax {{param}}.
While executing your features, the variables will be automatically replaced by their value.
Array parameters
You can refer to an element in an array using the syntax {{param[key]}}.
Test Suite Config parameters
You can refer to a test suite configuration parameter using the syntax {{config:param}}.
Note that the keyword config: is mandatory.
Example
Feature: Parametrize Gherkin Feature In order to create a dynamic Gherkin scenario As a tester I need to be able to share data between scenario steps Scenario: Scenario using simple parameter Given I have a parameter "test" with value "42" Then I should see "{{test}}" equals "42" Scenario: Scenario using array parameter Given I have an array "test" with values [1, two, 3.14, IV, 101] Then I should see "{{test[1]}}" equals "two" Scenario: Scenario using config parameter Given I have a configuration file "acceptance.suite.yml" containing """ theResponse: 42 """ When I execute a scenario calling the parameter 'theResponse' Then I should see "{{config:theResponse}}" equals "42"
The steps definition in AcceptanceTester.php do not require any change
/** * @Given I have a parameter :param with value :value */ public function iHaveAParameterWithValue($param, $value) { Fixtures::add($param, $value); } /** * @Then I should see :arg1 equals :arg2 */ public function iSeeEqual($arg1, $arg2) { $this->assertEquals($arg1, $arg2); }
You can find more examples in the test folder.
Contributions
Contributions, issues, and feature requests are very welcome. If you use this package and have fixed a bug for yourself, please consider submitting a PR!
Made with contributors-img.
统计信息
- 总下载量: 130.84k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 10
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 1
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2016-05-28