Finding Missing Test Coverage in Rails

Here's a little testing trick I use while working in Rails. When I'm trying to find areas of code that are missing test coverage, I like to individually run the different types of tests, then check the coverage for that type. So instead of simply running rspec, I'll first run each of the following:

  rake spec:models
  rake spec:controllers
  rake spec:helpers
  rake spec:features

I find that if I mix feature tests with any of the other test types, that many lines of code are incidentally run that I don't have adequate coverage for. By running the different tests in isolation, it's much easier to identify gaps in real coverage.


Written by Alex Brinkman who lives and works in Denver, but plays in the mountains.