{"id":37234446,"url":"https://github.com/edno/codeception-gherkin-param","last_synced_at":"2026-01-15T03:59:11.684Z","repository":{"id":8838122,"uuid":"59911381","full_name":"edno/codeception-gherkin-param","owner":"edno","description":"Codeception module for supporting parameter notation in Gherkin scenarios","archived":true,"fork":false,"pushed_at":"2023-06-08T09:53:51.000Z","size":183,"stargazers_count":9,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-24T09:58:12.440Z","etag":null,"topics":["bdd","codeception","codeception-extension","codeception-module","dataprovider","gherkin","parameters","php","scenario","testing"],"latest_commit_sha":null,"homepage":"https://edno.github.io/codeception-gherkin-param","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/edno.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-28T19:36:10.000Z","updated_at":"2023-07-03T11:21:44.000Z","dependencies_parsed_at":"2024-06-21T19:05:22.930Z","dependency_job_id":"45af0dde-cef5-44aa-898d-8d3cc396707f","html_url":"https://github.com/edno/codeception-gherkin-param","commit_stats":{"total_commits":195,"total_committers":13,"mean_commits":15.0,"dds":0.6666666666666667,"last_synced_commit":"04286ccbb1f66588cfb4ffb55c3e470cfd8571ce"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/edno/codeception-gherkin-param","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edno%2Fcodeception-gherkin-param","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edno%2Fcodeception-gherkin-param/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edno%2Fcodeception-gherkin-param/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edno%2Fcodeception-gherkin-param/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edno","download_url":"https://codeload.github.com/edno/codeception-gherkin-param/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edno%2Fcodeception-gherkin-param/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28419366,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T10:47:48.104Z","status":"ssl_error","status_checked_at":"2026-01-14T10:46:19.031Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bdd","codeception","codeception-extension","codeception-module","dataprovider","gherkin","parameters","php","scenario","testing"],"created_at":"2026-01-15T03:59:11.082Z","updated_at":"2026-01-15T03:59:11.676Z","avatar_url":"https://github.com/edno.png","language":"PHP","readme":"# Gherkin Param\n\n[![Latest Version](https://img.shields.io/packagist/v/edno/codeception-gherkin-param.svg)](https://packagist.org/packages/edno/codeception-gherkin-param)\n![Build Status](https://img.shields.io/github/actions/workflow/status/edno/codeception-gherkin-param/run-tests.yml)\n[![Coverage Status](https://img.shields.io/coveralls/edno/codeception-gherkin-param.svg)](https://coveralls.io/github/edno/codeception-gherkin-param?branch=main)\n[![Mutation Score](https://img.shields.io/endpoint?label=mutation%20score\u0026url=https%3A%2F%2Fbadge-api.stryker-mutator.io%2Fgithub.com%2Fedno%2Fcodeception-gherkin-param%2Fmain)](https://dashboard.stryker-mutator.io/reports/github.com/edno/codeception-gherkin-param/main)\n[![License](https://img.shields.io/badge/license-Apache%202-blue.svg)](https://raw.githubusercontent.com/edno/codeception-gherkin-param/main/LICENSE)\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fedno%2Fcodeception-gherkin-param.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fedno%2Fcodeception-gherkin-param)\n\n---\n\nThe [Codeception](http://codeception.com/) module for supporting parameter notation\nin [Gherkin](https://codeception.com/docs/07-BDD)\nscenario.\n\n## Minimum Requirements\n\n- Codeception 3.x, 4.x, 5.x\n- PHP 7.4 - 8.2 (use release 2.0.6 for older PHP versions)\n\n## Installation\n\nThe module can be installed using [Composer](https://getcomposer.org)\n\n```bash\ncomposer require edno/codeception-gherkin-param --dev\n```\n\nBe sure to enable the module in `codeception.yml` as shown in\n[configuration](#configuration) below.\n\n## Setup\n\nEnabling **Gherkin Param** is done in `codeception.yml`.\n\n```yaml\nmodules:\n    enabled:\n        - Codeception\\Extension\\GherkinParam\n```\n\n## Configuration\n\n\u003e 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.\n\n### `onErrorThrowException`\n\nIf `true`, then GherkinParam will throw an exception `GherkinParam` at runtime when a replacement value cannot be found for a parameter:\n\n```yaml\nmodules:\n    enabled:\n        - Codeception\\Extension\\GherkinParam:\n            onErrorThrowException: true\n```\n\n\u003e If `onErrorThrowException` is set then it will override `onErrorNullable`.\n\n### `onErrorNullable`\n\nIf `true`, then GherkinParam will set to `null` parameters for which a replacement value cannot be found:\n\n```yaml\nmodules:\n    enabled:\n        - Codeception\\Extension\\GherkinParam:\n            onErrorNullable: true\n```\n\n## Usage\n\nOnce installed, you will be able to access variables stored using\n[Fixtures](https://codeception.com/docs/reference/Fixtures.html).\n\n### Simple parameters\n\nIn scenario steps, the variables can be accessed using the syntax `{{param}}`.\nWhile executing your features, the variables will be automatically replaced by their value.\n\n### Array parameters\n\nYou can refer to an element in an array using the syntax `{{param[key]}}`.\n\n### Test Suite Config parameters\n\nYou can refer to a test suite configuration parameter using the syntax `{{config:param}}`.\nNote that the keyword **config:** is mandatory.\n\n## Example\n\n```gherkin\nFeature: Parametrize Gherkin Feature\n  In order to create a dynamic Gherkin scenario\n  As a tester\n  I need to be able to share data between scenario steps\n\n  Scenario: Scenario using simple parameter\n    Given I have a parameter \"test\" with value \"42\"\n    Then I should see \"{{test}}\" equals \"42\"\n\n  Scenario: Scenario using array parameter\n    Given I have an array \"test\" with values [1, two, 3.14, IV, 101]\n    Then I should see \"{{test[1]}}\" equals \"two\"\n\n  Scenario: Scenario using config parameter\n    Given I have a configuration file \"acceptance.suite.yml\" containing\n      \"\"\"\n      theResponse: 42\n      \"\"\"\n    When I execute a scenario calling the parameter 'theResponse'\n    Then I should see \"{{config:theResponse}}\" equals \"42\"\n```\n\nThe steps definition in `AcceptanceTester.php` do not require any change\n\n```php\n/**\n * @Given I have a parameter :param with value :value\n */\n public function iHaveAParameterWithValue($param, $value)\n {\n   Fixtures::add($param, $value);\n }\n\n/**\n * @Then I should see :arg1 equals :arg2\n */\n public function iSeeEqual($arg1, $arg2)\n {\n   $this-\u003eassertEquals($arg1, $arg2);\n }\n```\n\n You can find more examples in the [test folder](https://github.com/edno/codeception-gherkin-param/tree/main/tests/acceptance).\n\n## Contributions\n\nContributions, issues, and feature requests are very welcome. If you use this package and have fixed a bug for yourself, please consider submitting a PR!\n\n\u003ca href=\"https://github.com/edno/codeception-gherkin-param/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=edno/codeception-gherkin-param\" /\u003e\n\u003c/a\u003e\n\nMade with [contributors-img](https://contrib.rocks).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedno%2Fcodeception-gherkin-param","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedno%2Fcodeception-gherkin-param","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedno%2Fcodeception-gherkin-param/lists"}