Interesting times in the area of automated testing for .NET. James Newkirk, who previously worked on NUnit (and wrote at least one good book on TDD in .NET), and Brad Wilson have released xUnit.net, a new unit testing framework for .NET. Read the announcement for the important differences.
One of the interesting features added (old news for MbUnit users, perhaps) is “test method extensibility”, which is (emphasis mine):
“…the definition of how to run a test method can be extended. There are two example of this: the first, in the extensions DLL, is the [Theory] attribute which allows data-driven tests; the second, in the samples, is the [RepeatTest] attribute which runs a test method multiple times in a row. For more information on data theories, see http://shareandenjoy.saff.net/2006/12/new-paper-practice-of-theories.html.”
There is also a comparison between NUnit, MSTest and xUnit.net on the xUnit.net CodePlex site. It is released under the Microsoft Permissive License (Ms-PL) (both NUnit and MbUnit use zlib/libpng-based licences).
Be interesting to see the reaction to this and the effect (if any) on the other unit testing frameworks, NUnit in particular. NUnit is pretty much the defacto standard for .NET unit testing, despite generally being seen to lag behind alternatives like MbUnit. If this move is seen as diluting the NUnit standard it might see a large jump of people to xUnit.net, or perhaps to the established and more advanced MbUnit.
[Update 2007-09-22] Some initial, lukewarm reactions have gone up around the ‘Net. See Roy and Bill’s posts. Brad Wilson has responded to some of these.