Close
Glad You're Ready. Let's Get Started!

Let us know how we can contact you.

Thank you!

We'll respond shortly.

LABS
Reconfiguring Rails Conventions – Highlighting Missing Strong Parameters

Let's say we were creating an API that allows us to create 'foo's. Foos, as far as we know, will have a first name and a title. We can write a request spec to help us drive out our endpoint's behavior

LABS
Rspec with Elasticsearch::Ruby and Elasticsearch::Model

We recently started using Elasticsearch::Ruby on our project and wanted to add some rspec integration tests. The documentation skips over rspec integration but by adapting their sample tests: # Gemfile group :test do gem 'elasticsearch-extensions' end # spec_helper.rb # Add after other requires.

Read more »

LABS
Have you tested your tests lately?

Summary: If you are using the rspec_api_documentation gem to test and document your API, you can use this code to test that you have a spec for each of your routes. Check out the gist here: http://gist.github.com/kayline/8868438

If you’re building an app with a public API, accurate and clear documentation is a blessing for both you and your third-party developers.

Read more »

LABS
How To Test PDFs with Capybara

Solution – GitHub Gist

Validating that a web app’s content is rendered correctly is an integral part of testing web apps. Displaying user-submitted input in HTML is the core functionality of almost any website. For example, the last couple of web sites you used most likely had you enter information in a text box that was later shown to you on another page.

Read more »

LABS
Accessibility Errors Are Breaking Your Build

Imagine if someone flipped a switch on your project that broke your entire integration test suite with failures that surfaced critical, long standing bugs in production that render your site useless to many thousands of users.

Hundreds of failures in CI, up on a monitor for everyone to see.

Read more »

LABS
Geek glossary: stub

Over the next few blog posts I intend to bang a few more nails in the coffin of the widespread misunderstanding of stubs, mocks and spies. Many before me have had a crack at this (see Ben Moss’s post for discussion and links), and many of those blog posts and books helped me to understand what exactly these code design tools are for.

Read more »

LABS
Getting "by" with rspec feature specs

If you find that you are making your rspec feature specs longer and longer to cram more coverage in or to prevent the setup costs for more, shorter tests, you will probably have found that it becomes very hard to figure out what’s going on.

Read more »

LABS
Smelling with your ears: TDD techniques to influence your design

Test Driven Development can be a hard sell. The first pitch is often designed to entice the buyer with safety features, like:

“How will you ensure that those bugs don’t creep back in?” “Wouldn’t it be nice to know that one change doesn’t break another?”

In conversations between practiced test drivers, though, design topics tend to pop up:

“What is this test telling us about the design of our code?” “Why is this test boring to write?” “Why is this test so slow?”

Then there are really exciting questions, when getting close to a design breakthrough, like:

“Is this test telling us we’re lacking polymorphism in our design?” “I’m tired of constructing this thing.

Read more »

LABS
Fighting test pollution with an RSpec custom ordering strategy

Test pollution manifests itself as seemingly false negatives or false positives in a test suite. It occurs when some shared state is unintentionally modified, or unintentionally read and used in a test.

When test pollution builds up, it can mean that a project’s build fails unpredictably, which can stop a whole team from shipping code regularly.

Read more »

LABS
Thoughts on Simple BDD

A small number of projects here in New York have adopted my extremely simple behaviour driven development library, SimpleBDD, and I thought I’d share some of the emerging patterns those teams have developed while using it.

SimpleBDD, is a way of using a Gherkin like specification language and turning into a method call with Ruby.

Read more »