In my previous post I laid out the plan and goals for my WhatIWantMost.com project. I forgot to mention a couple of things, though.
Because I am a great big huge fan of automated builds, continuous integration, CC.NET, … (author goes on and on for many lines) … I will of course be including all that stuff as part of the project process. Unit tests will be built and run (using good ol’ NUnit), FxCop reports will be ignored, and all the usual stuff.
But along with that I may do some stuff that some of you have not seen before. One of them being that I will incorporate the CodeSmith generation of the .netTiers code into my build process so that my data layer (and possibly domain layer? and anything else I may decide to generate) will be re-built during each build.
Even though I have done a lot of different stuff with CC.NET, NAnt, and NUnit, up to this point I have not done any database testing along with my unit testing, though I have read about it, thought about it and discussed it quite a bit. I think I will look to add that to my repertoire with this project, too.
And remember that I said I would be autogenerating my CRUD stored procs? I think that would be a good candidate to add to the build process as well. Perhaps I’ll do my development in one database and then generate a fresh/clean database (and stuff it with test data?) for testing and “client review” upon each build. That process will work until I get to the point of first deployment - after that dropping of any data would really be a no-no. However, that is a lot of work to add to my already bulging build process. Perhaps I can come up with a way to tag the database with a version or build number so that I know if I need to perform any of that or not? Or maybe I could just go ahead and built a fresh/clean database with every build and then that db can be compared with a data diff tool to the “live” database resulting in a sql script with the schema changes needed to be run on the live db.
Hmmm, a whole bunch of stuff to think about. I may do all of that and more. I may do none of it. I may just sit on my couch and eat bon-bons all day. We’ll have to stay tuned to find out!