A collection of shared libraries for Cucumber's behavior-driven development ecosystem, including Gherkin parsing and step matching.
Cucumber Common Components is a collection of shared libraries that form the foundation of the Cucumber behavior-driven development (BDD) framework. It provides essential tools like Gherkin parsers, step pattern matching, and message protocols that enable teams to write executable specifications in plain language. These components ensure consistency across Cucumber implementations in different programming languages.
Developers and QA engineers implementing behavior-driven development with Cucumber across multiple programming languages or building custom Cucumber integrations.
It offers standardized, polyglot-compatible core libraries that guarantee interoperability between different Cucumber implementations, reducing duplication and maintaining consistency in BDD tooling.
A home for issues that are common to multiple cucumber repositories
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Maintains consistent implementations across multiple languages, as stated in the philosophy, ensuring seamless communication and reducing duplication in BDD tooling.
Includes the official Gherkin parser and gherkin-utils for querying parsed documents, providing robust handling and manipulation of feature files.
Cucumber Expressions offer a powerful pattern-matching system for Gherkin steps, improving readability and maintenance over traditional regular expressions.
The Messages library defines a JSON-based protocol for communication between components, enabling structured data exchange and integration with external tools.
As core libraries, they require significant setup and programming effort to integrate, unlike plug-and-play BDD frameworks, which can be time-consuming.
These are building blocks that don't provide a complete testing framework, necessitating additional development for end-to-end BDD workflows.
Heavily tied to the Cucumber ecosystem, making it less flexible for non-Cucumber BDD implementations or custom tooling outside its scope.