To test whether two arrays have the same elements regardless of order, you can use the =~ matcher in RSpec < 2.11...

To improve your chances to get proper error messages, you can try ^ to start cucumber with the -b option, so...

This note describes a Cucumber step definition that lets you say: Then "Mow lawn" should be an option for "Activity...

babushka.me

The idea is this: you take a job that you'd rather not do manually, and describe it to babushka...

A check if two date or time ranges A and B overlap needs to cover a lot of cases:

Then /^I should get a response with status (\d+)$/ do |status| response.status.should include(status) end Capybara Then /^I should...

This card describes a Cucumber step that lets you say: When I perform basic authentication as "username/password" and I visit...

Are you adding a "Then show me the page" and re-run Cucumber whenever there is a failing scenario? Don...

Update: This trick probably isn't very useful anymore in Ruby 2.x. The Ruby GC has improved a lot...

justinfrench.com

If you’re testing the behavior of deprecated code in your Ruby project, the warning messages littered throughout your spec...

kernel.org

Git allows you to do a binary search across commits to hunt down the commit that introduced a bug.

These steps are now part of Spreewald. The step definitions below allow you to test the filename suggested by the...

The step definitions below allow you to write this in both Webrat and Capybara: When I follow "Download as PDF...

Our collection of the most useful Cucumber steps, Spreewald, now supports exact matching of form fields and lets you use...

In RSpec 2 shared_examples_for can have parameters. You can simply hand over arguments from it_behaves...

When you need to see the content of a page (i.e. not all the HTML but the relevant text body...

Using this step definition you can check if any form field (text field, checkbox, etc) or button is disabled:

You can usually just use the eq matched to compare two numbers: expect(deal.total).to eq(120)

You can use these step definitions: Then /^I should not see an error$/ do (200 .. 399).should include(page.status_code...

RSpec 1, RSpec 2 To test whether two arrays have the same elements regardless of order, RSpec 1 and 2...

When you just went through a long debug-fest and infested your code with dozens of debug messages, it can...

Don't insert table rows in a Rails database migration. This will break tests that expect that database to be...

makandra dev

In order to go back one page in your Cucumber tests, you can use the following step definition for Capybara...

robots.thoughtbot.com

Selenium has been the siren song that continually calls out to us. Unfortunately, in practice we’ve been unable to...