[via Spence Harbar]
A few weeks ago Spence mused on the subject of TDD for SharePoint. I like the points he makes: (1) you don't see many SharePoint developers incorporating TDD into their projects and (2) there are some inherit challenges incorporating pure TDD into SharePoint development experiences. Make sure you check out his post on TDD in SharePoint... it's a great read.
Why don't we see people incorporating TDD more into their SharePoint projects? One reason is the lack of community leadership. Look at the general .NET community crowd; there are a ton of folk out there who blog their experiences and favorite code snippet of the day... then there's that small community of TDD .NET bloggers who have plenty of articles & blog posts on how to incorporate automated unit testing practices, continuous integration, and mocks into their own company's SDL.
However you don't see the same leadership in the SharePoint space. There are smatterings of it here and there... like Spence's post, and Bil's post on creating Web Parts using the MVP pattern last year (Bil's probably the one SharePoint blogger that blogs most prevalently on TDD)... course there are a few others but these are the two that stand out to me. What we need to really have some true TDD adoption in the SharePoint development space is some leadership by people who REALLY know what they are talking about. Things like "how to incorporate [automated unit testing | continuous integration | mocking] into your SharePoint environment."
I know... I know... "but it's just .NET development, why do we need SharePoint specific leadership?" Because it seems we always do. Look at my article on setting up dual authentication for a WSS site... 90+ commends and most deal with configuration issues specific to the providers... but it's just ASP.NET 2.0... not much SharePoint! So what... people still think SharePoint is a special animal. Is it? Not really... no more than any other application... but some real SharePoint specific articles would go a long way (hear me MSDN Mag)?
So why don't I get up off my rear and write them? Two reasons: I'm no expert and frankly, I struggle with it a bit. I use MbUnit religiously in all my SharePoint projects, but I'm by no means an expert on continuous integration or mocking.
Let's hope some of the leaders in this space have a few free moments to write some killer HOWTO articles.