Elixir has potentially great support for Behavior Driven Development and writing tests in the well-known Gherkin language, but online searches lead to a plethora of abandoned projects— and three-to-four maintained ones, whose relationship to one another is unclear:
- cucumber_gherkin, with regular releases, maintained officially by Cucumber itself (though not listed) but nothing depending on it.
- cucumber, with a release as recently as June, and much more approachable documentation, depends on neither of the above nor nothing at all, and nothing depends on it.
- cabbage, which requires gherkin, both last updated in 2023. Appears to be the most-used but the documentation is so-so.
- ex_cucumber, last updated in 2022, which requires ex_gherkin, last updated 2021, has extensive but less approachable documentation (even the basic usage in the README. This one at least acknowledges the existence of one other option, cabbage, calling out several things including the lack of “multi-language support” and no support for Background (which is still listed as still pending on cabbage’s roadmap).
So there are four totally independent efforts despite an official Cucumber-maintained package with the most regular releases? And no one has written about their process of choosing one of these? That is the state of things for people wanting to get started with writing BDD-style tests in Gherkin syntax for their Elixir project?
Maybe we can improve on that a little in this topic…




















