A BDD testing framework for Go that runs tests natively with debugging support and context-aware steps.
GOBDD is a Behavior-Driven Development (BDD) testing framework for Go that allows developers to write tests using Gherkin syntax. It solves the problem of external BDD runners that lack debugging support and context management by integrating natively with Go's test toolchain.
Go developers and teams who want to write expressive, human-readable tests using BDD practices while maintaining full debugging capabilities and IDE integration.
Developers choose GOBDD over alternatives because it runs tests natively within Go's test environment, enabling breakpoint debugging, code coverage metrics, and context-aware step functions that simplify state management.
BDD framework
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates directly with Go's test toolchain, allowing IDE breakpoints and step-through debugging, which external BDD runners like godog lack.
Provides a context object to pass state between steps, reducing reliance on global variables and simplifying test maintenance, as highlighted in the README comparison.
Uses the familiar Given-When-Then structure for human-readable scenarios, improving collaboration with non-technical stakeholders and test clarity.
Works seamlessly with Go's built-in features like build constraints and code coverage tools, avoiding issues such as dead code detection in style checkers.
As a newer project, it has fewer community contributions, plugins, and real-world examples compared to established alternatives like godog, which may limit out-of-the-box solutions.
Requires teams to adopt and understand Gherkin syntax, adding initial complexity for developers unfamiliar with BDD practices or those preferring code-only tests.
Step definitions must be manually written and mapped using regex patterns, which can be verbose and error-prone for large or complex test suites.
GOBDD is an open-source alternative to the following products: