mlncn

mlncn

What is the relationship of cucumber, cucumber_gherkin, ex_cucumber, and Cabbage? (Writing BDD tests)

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:

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…

Most Liked

trisolaran

trisolaran

I haven’t worked with Elixir professionally since March 2024 now, but in my last project I was using BDD tests with cabbage . I picked it overt ex_cucumber probably because it was the most used package (don’t recall exactly).

cucumber didn’t exist back then, but it seems worth trying.

dimitarvp

dimitarvp

Well, welcome to open source. People check another project, say to themselves “I would do it another way” and there you go, you arrive at today’s state of affairs.

More seriously, I would just try to use 2-3 of those with multiple very concrete tests that must be 100% clear beforehand (i.e. you know exactly what you want to test) and evaluate for yourself.

sanswork

sanswork

I think part of the problem is most people abandon BDD pretty quickly. So someone gets really excited about it, like @dimitarvp mentioned doesn’t like the existing implementations then starts their own then realised BDD isn’t that great and move on abandoning development in the process.

BDD is dying/dead as a process these days for the most part so its not going to get a lot of attention. If you really like it a blog post outlining your findings would be a good place to essentially solve your problem for future people.

Where Next?

Popular in Questions Top

senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
mgjohns61585
Could someone help me? I'm making my first elixir program, number guessing game. I can't figure out how to convert the user's guess from ...
New
mathew4509
I have a list say x = ["23gh", "56kh", "97mh"] I would like to pass each element to Val in each iteration. Say, in iteration 1 -------...
New
Codball
Mix format works fine if run from the cmd. I’ve followed this to facilitate the implementation into VSC which involves downloading an ext...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers' Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
lucidguppy
I have a super simple question about elixir - how would I take a file like this foo bar baz and output a new file that enumerates th...
New

Other popular topics Top

Tee
can someone please explain to me how Enum.reduce works with maps
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
chrismccord
As promised, the first release candidate of Phoenix 1.3.0 is out! This release focuses on code generators with improved project structure...
New
danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 27727 240
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
AstonJ
by Lance Halvorsen Elixir and Phoenix are generating tremendous excitement as an unbeatable platform for building modern web application...
460 27162 124
New

We're in Beta

About us Mission Statement