Jared Carroll

About Jared Carroll

After a short stint in the fashion industry Jared found his true calling at Carbon Five. Yes... he looks like a serial killer in this photo. But really he is as gentle as a flower.

Testing Doesn’t Scale

The Ruby community’s obsession with testing is unrivaled. Over the years, Rubyists have gone from old school TDD using test/unit, to modern BDD with RSpec and finally to comprehensive integration testing, including JavaScript support, via Cucumber. The goal was tests … Continue reading

Posted in Process | 33 Comments

A Look at Test Generation in Cucumber and ScalaCheck

In a typical agile project the test suite grows roughly twice as fast as the non-test code. As developers, our goal should be the minimum amount of test code that specifies the behavior of the app. This often leads to … Continue reading

Posted in Web | 2 Comments

Pragmatic JavaScript Testing with Jasmine

As more and more parts of our applications are written in JavaScript, its important to have them covered with automated tests. Fortunately, there are numerous JavaScript testing tools available. As a BDD fan, the RSpec inspired Jasmine is currently my … Continue reading

Posted in Process, Web | 21 Comments

Virtual Environments with Vagrant

After a recent run-in with an irate local sysadmin, I was convinced to try out developing on a virtual machine. His argument was that developing on one platform, such as OS X, when you are deploying to another, such as … Continue reading

Posted in Process, Web | 1 Comment

Organizing User Stories and Code by Activity

Recently I was introduced to a tool developed by my co-workers called Story Mapper. Story Mapper was inspired by an agile design technique outlined in this post; it involves a way of organizing user stories around activities. During the story … Continue reading

Posted in Process, Web | 3 Comments

A Look at Specifying Views in RSpec

Like most developers I previously wrote off RSpec’s view specs entirely and instead decided to exclusively use Cucumber to test drive my views. But after reading the chapter on view specs in the recent RSpec book I decided to give … Continue reading

Posted in Everything Else | 6 Comments

Better Mocking in Ruby

In TDD we write tests to discover the interface of the object we’re testing. Mock objects extend TDD by discovering an object’s collaborators. [1] By mocking an object’s collaborators we can truly test an object in isolation. Changes in the … Continue reading

Posted in Process, Web | 10 Comments

#TODOs Never Get To-Done

Over time all software begins to rot. At first a young codebase is small and lean, it’s a pleasure to work on, a single developer may even be able to understand the entire codebase. However, iteration after iteration time constraints … Continue reading

Posted in Process | Tagged | 15 Comments

Test Driving Your Tests by Writing Them Backwards

In many traditional software development methodologies you write tests for your code after you write your code. TDD reverses this process by requiring you to write your tests before you write your code. By writing your test first you immediately … Continue reading

Posted in Process, Web | 4 Comments

TDD: Getting to Green One Small Step at a Time

When getting a failing spec to pass, it’s important to do the simplest thing that can possibly work. In Kent Beck’s classic book on TDD, he outlines several approaches for quickly “getting to green”. I regularly use 2 of these … Continue reading

Posted in Process, Web | 3 Comments