In attempting to complete thoughtbot’s Testing trail, I read Jared Carroll’s post, “Beginning Outside-In Rails Development with Cucumber and RSpec”.
This post was amazing. I have been learning TDD for the past year or so, and have never thought about doing it this way. In the post he says, “Most developers prefer to start with the ‘important’ part of an application, i.e., the domain model, and work their way outwards. Thinking like a server and not a client can lead to over-engineering by implementing more than you need.”
I have been spending a year writing code that is over-engineered. I am going to take this to heart and over the next week I am going to write codes from the outside in. We have started to write our user stories at work using Gherkin syntax and implementing them in RSpec, so this should make it extremely easy to write our specs this way!
Cheers to correctly engineered code!