Pondering TDD in Microsoft .NET, Second Edition


I have been getting asked quite a bit lately about updating the Test-Driven Development book. A number of things have changed since the book was published. Among them is .NET 2.0 has shipped, Visual Studio Team System has an integrated unit testing tool, and most important of all there has been a great deal of learning on how to approach TDD in .NET. The last change is what compels me the most to think about updating the book. The first two things are minor in my opinion and do not warrant an update to the book.

If I were to update the book I would like to get feedback on which tool I should use in the examples (NUnit, VS Team System, or MbUnit, etc.). I imagine that no matter which tool was chosen there might be a chapter in the appendix on the other tools.

Comments (16)

  1. todd brooks says:

    I would think that VSTS might prove to be better fodder for writing, since the documentation (or lack thereof) leaves much to be desired.  OTH, not everyone can afford VSTS and that would segment your market appeal.  

    Much has been written about NUnit, so I’m not sure if there is new ground to cover.  With VSTS and the inclusion of MS Build Server with Team Foundation Server and the ability to run unit tests with the automated builds, it sounds like there is a lot of new tech to cover.  Not much has changed with regards to TDD, so you will mainly be updating on best policies and procedures and the inclusion of how’s and todo’s when using the different tools.  And like I said, the MS docs leave much to be desired…especially with regards to Team Foundation Server and the automated builds with unit testing.

  2. Kevin Dente says:

    I vote NUnit. It’s something of a defacto standard (even such that many other frameworks support NUnit attributes).  It’s free, thus the barrier to entry is low (it can work against VStudio Express, not requiring a special-edition IDE).

    On the other hand, including a chapter on working with other tools would be nice.

  3. cs says:

    Update the nunit stuff where it makes sense. Use MbUnit when it has a feature that is very useful. I’d prefer to have VSTS left out since it costs too much for the average developer.

  4. leaffere says:

    I vote nUnit. Not alot of people have made the monetary leap to Team System.

  5. Jason Haley says:

    I vote for NUnit too … and I would also like to add that if you write it – I’ll buy it.

  6. Nathan says:

    mbUnit. While nUnit seems content to sit around with its basic unit testing ability, mbUnit keeps adding new, spiffy features.

  7. brucenan999 says:

    FREE tools are best choices. NUNIT, NFORMUNIT, NDBUNIT,NASPNET are good tools for .net unit test.

    I think you can extend the NUnit to test other sides such as Win Form, Database, ASP.Net, Windows Service and so on.

  8. Morten says:

    I definetly vote for VSTS! A great deal of the .Net developers have an MSDN subscription, and my understanding is that the vast majority of the ones who don’t have such a subscription will not read your book anyway, because TDD is so far away from their hobby, leisure, amateur programming realm that they wouldn’t know how to use it.

    Morten

  9. Since TDD in Microsoft .NET was released a few cool things have begun to unfold in the TDD world.  BDD being one of them.  I hope you’ll give some time to nSpec tools due to the approaches they engender.

    I think NUnit is a better choice for xUnit tool to focus on the book because of its user base.  I also agree that the other frameworks should be touched on – at least for those features that are inventive and interesting.

  10. corbinhoenes says:

    NUnit is the better choice.  It get’s the job done and it’s availabe to everyone.because everyone.  Touching on other tools (MbUnit / VSTS) and their advanced usages is a great idea.

    Honestly I have no clue what advantages VSTS has–so learning about them would be nice.  We worked briefly with MbUnit because it was a superset of NUnit but realized that 90% of our unit testing was just using plain old NUnit features so we switched back.

  11. Mark C says:

    I vote MbUnit. It has a lot of great features but is losing the publicity war with NUnit.

  12. It’s that time of year again and a custom on my blog to look back at my predictions for this year, relect