The first edition of Test Driven .NET Development with FitNesse was released in early 2008 as a result of a small independent publishing effort. It evolved from a series of guides I wrote for other team members, sharing tips and tricks I discovered while experimenting with FitNesse.NET code. I never expected it to make a significant impact on anything. However, it proved to be the start of a very interesting journey.
For some reason still unknown to me, my clients started referring to me as “the FitNesse guy”. Very soon after the book was published, I was invited to speak at many great companies about FitNesse and agile acceptance testing, from media giants such as the BBC to leaders in the banking industry such as Goldman Sachs and the HSBC. Almost two years after the first edition of this book was printed, I spend most of my time helping people get started with test driven development and agile acceptance testing. I spoke at dozens of conferences and organised public and on-site workshops. The book unexpectedly had a major effect on my work.
I also wrote a follow-up non-technical book on this subject, Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing. It was labelled as a must-read for anyone serious about agile software development by many respected reviewers.
There seems to be a surge of interest in the industry for FitNesse and agile acceptance testing in general, with teams realising that this is the missing link they need for successful agile adoption. I want to make this resource more easily available. The second edition of Test Driven .NET Development with FitNesse is free and now available online at http://gojko.net/fitnesse. I hope you will enjoy it.
Since the book was originally released, both FitNesse and the .NET FIT test runner were improved significantly. All the examples in this book are now updated to be compatible with the latest releases of FitNesse (20091121) and FitSharp (1.4). I re-wrote parts that are no longer applicable to the new FitSharp test runner, especially around Cell Operators (see the Cell operators). In a classic example of self-inflicted scope creep, I also wrote a new chapter on using domain objects directly (Chapter 14, Using business domain objects directly).
I changed the tool used for assembling the book. Instead of Apache FOP, I used XEP which will hopefully make the layout a bit better. Fonts (especially the code font) were also changed to make the book easier to read.
Some of my opinions have changed since the first edition was published, especially around using FitNesse for integration testing. I think this is only natural, as I started writing the book more than three years ago. However, I haven't rewritten those parts in the second edition yet. My goal with the second edition was mostly to bring the book up-to-date with recent versions of FitNesse and the FitSharp library and to offer it for free.



