Sprint Planner Helper – Session 1

· February 1, 2009

I started off very pure and true to the noble principles of TDD and Extreme OOP. Actually, I did decide on a few naming conventions first: the name of the product is Sprint Planner Helper and it will reside in the namespace Marcusoft.SprintPlannerHelper. I also created four projects like this (idea stolen from ASP.NET MVC Storefront):

  • Marcusoft.SprintPlannerHelper.Models - my domain model
  • Marcusoft.SprintPlannerHelper.Service - any services needed for the model, such as database access and so on
  • Marcusoft.SprintPlannerHelper.Web - the ASP.NET MVC Web Application
  • Marcusoft.SprintPlannerHelper.Test - the unit tests of the application

Then I removed all the Class1.cs from all the projects that defaulted them to me. At this point, I realized that I was missing Visual Studio 2008 Power Commands and Resharper at the computer I was using. Had to download them - you can live without them. The 1 hour/day is burning up fast in the beginning.

Finally, I could review my product backlog and create my first test: aNewlyCreatedProductOwnerHasEmptyName. This is my first time doing pure TDD, and I must say it was quite exciting. It didn’t compile, of course. So I created a class in my Model-project called ProductOwner. At first, I thought I would have a hard time getting the test to fail, but it did (:D). The name property is initialized to null. I implemented a constructor that took care of that - and YEAH, my first test.

I was quite surprised to find 27 other tests in my solution. Those were tests for the controllers created for me by the ASP.NET MVC project template. I ran them all - they worked, but I didn’t check them out for now.

My hour is up - great progress today. We’re off to a flying start with one TDD iteration (RED-GREEN-REFACTOR) done…

Twitter, Facebook