diff --git a/src/pytest_bdd/gherkin_parser.py b/src/pytest_bdd/gherkin_parser.py index 616e64e..6df9f90 100644 --- a/src/pytest_bdd/gherkin_parser.py +++ b/src/pytest_bdd/gherkin_parser.py @@ -128,7 +128,7 @@ class DataTable: location=Location.from_dict(data["location"]), rows=[Row.from_dict(row) for row in data.get("rows", [])] ) - def transpose(self) -> Self: + def transpose(self) -> DataTable: # Transpose the cells, turning rows into columns if not self.rows: return self # Return itself if there are no rows to transpose diff --git a/src/pytest_bdd/steps.py b/src/pytest_bdd/steps.py index b4171e3..7beef21 100644 --- a/src/pytest_bdd/steps.py +++ b/src/pytest_bdd/steps.py @@ -45,6 +45,7 @@ from typing import Any, Callable, Iterable, Literal, TypeVar import pytest from typing_extensions import ParamSpec +from .gherkin_parser import DataTable from .parser import Step from .parsers import StepParser, get_parser from .types import GIVEN, THEN, WHEN @@ -67,6 +68,7 @@ class StepFunctionContext: parser: StepParser converters: dict[str, Callable[[str], Any]] = field(default_factory=dict) target_fixture: str | None = None + data_table: DataTable | None = None def get_step_fixture_name(step: Step) -> str: