How a great Unit Testing framework begat Gallio.

In January 2004 Marc Clifton, a frequent contributor at Codeproject, wrote a series of articles that sought to expand the unit testing discussion.  Among other things, Marc proposed a formalization of various test patterns beyond basic TDD.  Marc then took his ideas into code as AUT (Advanced Unit Testing), an independed project that you can find at Codeproject.

Two months later, Jonathan "Peli" de Halleux took a look at Marc's proposals and created gUnit (which was later renamed to MbUnit) while recovering from surgery in a hospital.  In fact, Peli wrote most of MbUnit while still in the hospital.

MbUnit had some new ideas and concepts and it caught the attention of Jamie Cansdale who while on a trip to Brussels hooked up with Peli to work on an add-on for TD.net. TD.net started life as a NUnit project and so this made MbUnit the next framework after NUnit to be supported by TD.net, as such since the very early days of this great tool there has been MbUnit support.

In 2005 Peli made MbUnit opensource and continued working on the framework while finishing his PhD. Shortly after completing his PhD he accepted a job with Microsoft as a SDE\T on the CLR team.  Unable to carry on MbUnit, he handed it over to Jamie Cansdale as short time caretaker. Peli blogged about needing someone to take on MbUnit and shortly after Andy Stopford as a long time MbUnit user read this and stepped up.

Since then MbUnit has grown as a framework and project, with two major releases and triple the downloads per release it has firmly rooted itself in main stream Microsoft .net culture as a viable unit test framework next to NUnit.

In the autumn of 2007, MbUnit v3 - a ground up rewrite of MbUnit, started.  In one of those funny turn of events, v3 was to be code named "Gallileo" but due to a typo became "Gallio".  The name stuck and development continued on MbUnit v3, code name: Gallio.

With MbUnit V3 developmement well under way, long time MbUnit core member Jeff Brown attended the Alt.Net conference in Austin, Texas.  Following discussions with other programmers at the conference, Jeff made the case to the MbUnit team that there was value to the community at large in isolating the test runner capabilities of the system to create a neutral platform upon which MbUnit could then be hosted as one of many supported frameworks.  Other open-source and commercial projects would be able to leverage the platform's services to create rich, interoperable and extensible testing solutions, thereby adding great value to the community.

After much discussion, the decision was made to separate the test runner from MbUnit and Gallio the Automation Platform was born.

Going forward the Gallio Project seeks to become visible to other open source projects so that the capabilities of the platform can bring unity and value to the many projects in the testing space.