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.