VCR fails if the same request is triggered multiple times

VCR records each request only once, so replaying repeated identical calls can fail unless allow_playback_repeats is enabled.

Check if an object is an ActiveRecord scope

Checking for an ActiveRecord scope with is_a?(ActiveRecord::NamedScope::Scope) breaks in Rails 3 and misses unscoped model classes. respond_to?(:scoped) is a broader check.

rspec_candy is now a gem

rspec_candy packages reusable RSpec helpers as a gem, making setup and updates easier for specs that need shared test utilities.

Scenario outlines in Cucumber

Template-based examples reduce repetition in behavior-driven tests and make repetitive cases easier to maintain.

RSpec: Running examples by name (or running a single shared example)

Shared RSpec examples can be rerun by --example substring match or example ID when rspec file:line cannot target them directly.

Spreewald version 0.9.4 released

Fixes for flaky browser tests in Spreewald 0.9.4, including a resolved “I click on ...” step and broader Selenium retry handling.

Error handling in DOM event listeners

DOM event handler exceptions are swallowed, so later listeners and dispatchEvent() continue running. Uncaught errors still reach the browser log and window error event.

Limitations you should be aware of when Internet Explorer 9 parses CSS files

Internet Explorer 9 can fail on large stylesheets because of hard parser limits: file count, selector count, and nested @import depth.

Making Little Classes out of Big Ones

A too-large class is harder to understand, test, and change. Several refactoring approaches break it into smaller responsibilities.

Create and send any HTTP request using the Postman request builder

Postman provides a graphical way to build and send HTTP requests, with collections, environments, history, and a cookie manager for API testing.

Slack integration for deployments via Capistrano

Send deployment notifications from Capistrano to Slack channels using slackistrano and incoming webhooks, with customizable message formatting.

Syn - a Standalone Synthetic Event Library

Synthetic user events for typing, clicking, moving, and dragging provide realistic interaction handling for tests and automation.

How to find out the currently focused DOM element with JavaScript

document.activeElement returns the currently focused DOM element and is useful for checking focus state in JavaScript or Selenium tests.

Use Capybara on any HTML fragment or page

Capybara matchers can be applied to standalone HTML fragments or strings, not only full pages, making fragment assertions easier in test suites.

Rails: Using custom config files with the config_for method

Global Rails settings can live in YAML files with environment-specific overrides via config_for, avoiding constant collisions and supporting fetch or bang accessors.

Configuring Git with .gitconfig

Simple Git configuration for new developers: aliases, merge and rebase defaults, better diffs, and GitLab push shortcuts.

patiently is now a gem

patiently helpers are now packaged as the patiently gem, with configurable retries and timeouts for feature and system specs.

Spec correct routing of custom URLs

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

RSpec: Scoping custom matchers to example groups

Custom RSpec matchers can stay local to one example group or selected groups, avoiding global helper pollution while reusing expectation logic.

Waiting for page loads and AJAX requests to finish with Capybara

Capybara browser tests can fail while page loads or AJAX requests are still pending; waiting for visible results reduces flickering and unreliable assertions.

Rails: Flagging all cookies as secure-only to pass a security audit

Secure cookies are often required by audits even when a Rails app already uses HTTPS and HSTS. A middleware can add the Secure flag to server-set cookies automatically.

Continuous Security Testing with Devops - OWASP EU 2014

Automated security testing integrated into a BDD workflow reduces gaps between development and security review for teams shipping software continuously.

has_many :bugs, :through => :rails: Make your shoulda tests faster with fast_context

decided to go fixtureless with Shoulda + Factory Girl. All good, except one problem. Slow as fuck tests. So here’s fast_context as a solution for it. fast_context compiles all the ‘should’s within a context into a single test.

Gatekeeping: Guide for gatekeeper

Project code is reviewed before staging to catch client rejections early and keep changes maintainable. Gatekeepers approve or reject merge requests and decide whether a review is needed.