def task_with_hoptoad_notification(options) task(options) do begin yield rescue Exception => e Airbrake.notify(e) raise e

makandra dev

Update RubyGems and Passenger Bundler requires Rubygems >= 1.3.6. Run gem update --system if you have an older version.

Sometimes you want to fetch associations for an ActiveRecord that you already loaded, e.g. when it has deeply nested associations...

github.com

There are three ways to define your own RSpec matchers, with increasing complexibility and options: 1) Use RSpec::Matchers.define

github.com

Boolean attributes can now be set by appending "which", "that" or "who" at the end: Given there is a movie...

When you roll custom URLs with hacks like routing-filter, you can put a spec like this into spec/routing/routing_spec.rb:

Spreewald has steps that let you test that e-mails have been sent, using arbitrary conditions in any combination.

Don't use should validate_format_of(...) because that matcher works in weird ways. Use the allow_value matcher instead...

regular-expressions.info

You can write regular expressions some different ways, e.g. /regex/ and %r{regex}. For examples, look here. Remember that it...

wiki.github.com

The following example is from the Cucumber wiki: Given a blog post named "Random" with Markdown body """ Some Title, Eh...

Capybara does not play nice with sites that have some actions protected by SSL, some not. A popular way to...

makandra dev
github.com

Our awesome collection of rspec helpers (formerly known as "spec_candy.rb") is now available as a gem. It works, it is...

github.com

An alternative to this technique is using VCR. VCR allows you to record and replay real HTTP responses, saving you...

github.com

A fake filesystem. Use it in your tests.

When a Cucumber feature leaves your page through an external Link, Webrat has problems like "Could not find field: "E...

makandra dev

This may be awkward to set up, but will work once you're done. Fun facts:

Most of these will not work in newer projects because these use the Capybara/Rack::Test combo in lieu of Webrat...

With defaults, RCov doesn't work the way you how you would like it to. To create a nice test...

makandra dev
github.com

We built cucumber_spinner to have a progress bar for Cucumber features, which also outputs failing scenarios as soon as...

makandra dev

To test concurrent code, you will need to run multiple threads. Unfortunately, when you use blocking system calls (e.g. locks...

makandra dev

rspec_spinner is a progress bar for RSpec which outputs failing examples as they happen (instead of all at the...

makandra dev

Install gem and plugin sudo gem install parallel script/plugin install git://github.com/grosser/parallel_tests.git Adapt config/database.yml test: database: xxx_test<%= ENV...

When you need to patch an existing gem, one way is to "vendor" the gem by copying it into the...