xUnit.net goes live!

NUnit is dead! Long live xUnit.net!

There are several cool features, including aspect-like extensibility for tests, but the two changes that will immediately make a difference in my day-to-day codingĀ are:

  • [ExpectedException] is gone. In its place is Assert.Throws<T>( delegate ... ). Not only much easier to read, but no longer can a test throw in an unexpected place and still pass.
  • No more SetUp/TearDown. This makes maintaining state between tests a bit more difficult. Having to add static variables to a test fixture should probably signal warning flags about the code under test.

For anyone wondering if it actually works, the answer is a resounding 'Yes'. It's already been integrated into sections of the project I'm currently working on.

It's available for download here: http://codeplex.com/xunit

Also, be sure to read Jim Newkirk's official announcement.