Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The parser doesn't understand Pytest-BDD-NG Cucumber Expressions #204

Open
The-BDD-Coach opened this issue Apr 22, 2024 · 1 comment
Open
Labels
python ⚑ enhancement Request for new functionality

Comments

@The-BDD-Coach
Copy link

The-BDD-Coach commented Apr 22, 2024

πŸ‘“ What did you see?

All of the steps show as defined except the step that uses Cucumber Expressions

βœ… What did you expect to see?

All of the steps are recognized.

πŸ“¦ Which tool/library version are you using?

Version: 1.88.1
Commit: e170252f762678dec6ca2cc69aba1570769a5d39
Date: 2024-04-10T17:43:08.196Z
Electron: 28.2.8
ElectronBuildId: 27744544
Chromium: 120.0.6099.291
Node.js: 18.18.2
V8: 12.0.267.19-electron.0
OS: Darwin arm64 23.4.0

Cucumber for VSCode v1.10.0

πŸ”¬ How could we reproduce it?

Scenario: The catalog can be searched by author name.
    Given these books in the catalog
      | Author            | Title                      |
      | Stephen King      | The Shining                |
      | James Baldwin     | If Beale Street Could Talk |
    When a name search is performed for Stephen

with this step definition:

@when(
    partial(
        CucumberExpression,
        # This returns an 'all_search_types' ParameterTypeRegistry
        parameter_type_registry=all_search_types(),
        # This is the Cucumber Expression that is used to match the Gherkin. That is, any Gherkin
        # that matches this Cucumber Expression will be run using this function.
    )("a {AllSearchTypes} search is performed for {}"),
    # This line assigns names to the two capture groups '{}' in the Cucumber Expression.
    anonymous_group_names=("search_type", "search_term"),
)
def a_SEARCH_TYPE_is_performed_for_SEARCH_TERM(
    search_type: AllSearchTypes,
    search_term: str,
    catalog: Catalog,
    search_results: list,
): ...

πŸ“š Any additional context?

No response

@kieran-ryan
Copy link
Sponsor Member

kieran-ryan commented Apr 23, 2024

@The-BDD-Coach, thanks for raising! Would it be possible to edit the code snippet to include the imports? For additional context on what needs to be matched.

Is the partial reference from functools.partial? If so, is this a requirement with pytest-bdd-ng or is it possible to use the Cucumber Expressions class in its raw format. This can be a barrier for the parser.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
python ⚑ enhancement Request for new functionality
Projects
None yet
Development

No branches or pull requests

2 participants