I admit it, I love TDD

June 14, 2013

This week @PDXcodeschool we jumped into TDD using minitest/autorun. I have used RSpec in the past, and loved the way it let me manage the logic of my project. I love that ruby has a built in framework — so easy to use!

  • Use specs to rough out project logic

    describe "Car" do
    it 'should have a color'
    it 'should have a make'
    it 'should have a unique serial number'
    it 'should get a new serial number when it gets stolen'
    it 'should accept passengers'
    it 'should not accept more than 3 passengers'
    end

    All of these tests will be skipped until they are followed by a do…end block.

  • Take one test at a time and write the code to make it pass

    describe "Car" do
    it 'should have a color' do
    car = Car.new("black")
    car.color.must_equal "black"
    end
    ...
    end

    If your tests exercise the project well enough, you end up with really tight code. More of a lasagna noodle than spaghetti!


Mostly Katie explaining things to herself.

© 2022