Why not Cucumber?

Capybara + RSpec seems to be the combination to use professionally.

Why is the cucumber gem becoming less attractive? What about the keypoint that customers can actually read the specs? Does this not work/deliver real value in the field?

We stopped this at thoughtbot for a few reasons.

Writing a translation layer between English and Ruby is kind of annoying in the first place and tricky to maintain. We often ended up with unwieldy bunches of cucumber steps that contained duplication and made our tests brittle.

I miss a little bit of how easy it was to read English descriptions of app functionality, but I almost always had to go read the steps anyhow, so why not just write those directly?

We also found that the “customers can read the specs” claim might have been true, but rarely happened in practice. It’s probably more or less likely to happen depending who exactly the customer is, but we’ve been able to keep people on the same page about what’s being built and why without needing cucumber to do that job.

a follow-on - is there anything that you can technically do in Cucumber that can’t be done in RSpec?

@jon, the only thing I can recall off the top of my head that’s easier to do with cucumber is tag scenarios or features as WIP. I stopped using this feature in RSpec because you can make a spec pending by changing it to xit, but it bears mentioning.