Fixing Intermittent Failing Tests

By Daniel Morrison

Some tricks to help you fix tests that sometimes fail.

Cucumber exiting with 0 on failure?

By David Genord II

Check your at_exit callbacks.

Testing File Downloads with Capybara and ChromeDriver

By Steve Richert

At Collective Idea, we Cucumber, Capybara and ChromeDriver… and alliteration. But we recently encountered an issue with a very Ajaxy Rails app where we need to test a file download and assert its content.

Capybara, Cucumber and How the Cookie Crumbles

By Steve Richert

I use Capybara and Cucumber to test my Rails apps, but cookie management can often be difficult… until now.

Use Chrome with Cucumber & Capybara

By Daniel Morrison

Swapping out Firefox for Chrome is easier than you think!

Simultaneous Capybara Sessions in Cucumber

By Steve Richert

There’s something very satisfying about watching your Cucumber test suite run (and pass), especially when the tests are running in your browser. I can’t help but think, “Man, I’m glad I don’t have to do all of this myself.” That’s especially true when your testing requires multiple sessions. The old me would fire up a couple different browsers and get to work. But that was the old me.

Test Your API with Cucumber and json_spec

By Steve Richert

At Collective Idea, we do a lot of work with RESTful JSON APIs. They can be a joy to build but a pain to test. We’re currently working on a project that’s all API all the time, so we developed some reusable Cucumber steps for testing. Now, we’ve abstracted all that goodness out into its own gem… json_spec.

Reusable Cucumber Steps

By Zach Moazeni

Mike Swieton recently posted Never say “Click” advocating the use of custom steps over browser-centric ones. I firmly disagree with with the consequences of that strategy.

Testing with Sunspot and Cucumber

By Zach Moazeni

Testing with sunspot with cucumber can be tricky since you need to manage the solr process separately. This post introduces a new gem “sunspot_test” and how to easily use it.

Language Matters

By Keith Gaddis

Last week the Ruby and Rails twitterverse had an eruption of debate on the choice of testing frameworks. My thoughts come down to this: language matters.

Tweet later with Delayed Job

By Brian Ryckbost

Schedule a tweet for the future using Delayed Job and the Twitter gem. Plus, some goodies on how to test it with Cucumber!

2010: The Open Source Tools that Made it Great

By Daniel Morrison

My list of open source tools that made a big impact on our work this year.

Spreedly Integration Testing with Cucumber

By Brian Ryckbost

Integrating Spreedly into an application is straightforward. Testing it with Cucumber, however, was a little less so. Here’s how we did it.

Stop writing imaginary code.

By Keith Gaddis

One of the hardest aspects of development for me has always been anticipating the code I’m going to need to write to solve a problem. BDD saves me from the hassle.

Practical Cucumber: Stakeholders

By Brandon Keepers

Stakeholders may or may not care about cucumber scenarios, but there is still value in having developers write them.

Practical Cucumber: Organization

By Brandon Keepers

Nobody knows how to organize cucumber features and steps. Every project has it’s own conventions–that is, if it has conventions at all. Here is a pattern that works for us.

Practical Cucumber: Factory Girl steps

By Brandon Keepers

Although they’ve been around for a while, very few people know that factory_girl comes with some really useful cucumber steps.

Practical Cucumber: Scenario-specific steps

By Brandon Keepers

Cucumber steps are meant to be reused. Keep them generic so you don’t have to work too hard.

Practical Cucumber

By Brandon Keepers

We love Cucumber but often see it poorly used and misunderstood. We are beginning a blog series about “Practical Cucumber” to give you tips and tricks and keep you out of a pickle.

Clicking any element with Cucumber and Capybara

By Brandon Keepers

We’ve been testing a lot of Javascript heavy apps these days with Cucumber and Capybara, and sometimes you just need to click on something that isn’t a button or a link.