Skip to content

Conversation

@laeubi
Copy link
Contributor

@laeubi laeubi commented Oct 26, 2025

This pull request introduces a new Eclipse bundle, io.cucumber.eclipse.python, which adds first-class support for running Cucumber feature files using the Python Behave framework within Eclipse. It includes the full implementation of the plugin, integration with the Eclipse launch/debug framework, user documentation, and a working example project. The changes are grouped into three main themes: new bundle creation, example project, and integration/documentation.

Key changes:

1. New Eclipse Bundle: Python Behave Launcher

  • Added new plugin project io.cucumber.eclipse.python with full Eclipse PDE setup (.project, .classpath, .settings/, .gitignore). [1] [2] [3] [4] [5]
  • Implemented core bundle files: MANIFEST.MF (bundle metadata, dependencies, OSGi services), build.properties, and main plugin entry points in plugin.xml (launch configuration type, UI tabs, icons, preference page, document setup, etc.). [1] [2] [3]
  • Added OSGi Declarative Services XML for the launcher and step definition opener. [1] [2]
  • Created an implementation summary (IMPLEMENTATION.md) and user documentation (README.md) describing features, usage, requirements, and design decisions. [1] [2]

2. Example Python Behave Project

  • Added examples/python-calculator folder containing a sample Behave project: feature file (calculator.feature), step definitions (calculator_steps.py), .gitignore, Eclipse project file, and a detailed README. [1] [2] [3] [4] [5]
  • Added a .project file for the parent examples folder for Eclipse compatibility.

3. Integration with Eclipse Feature and Build

  • Registered the new Python plugin in the main Eclipse feature definition (io.cucumber.eclipse.feature/feature.xml).

These changes collectively provide seamless support for running Cucumber/Behave scenarios in Python projects from within Eclipse, mirroring the experience previously available only for Java.

Closes #570
Closes #563

Add inital implementation and example for supporting behave tests using
python.

Co-authored-by: laeubi <[email protected]>
@laeubi laeubi merged commit 78d5430 into cucumber:main Oct 26, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support for python (behave)

1 participant