Using Lambdas as Constraints in NUnit 2.5
Let's say you have an array of ints representing years, all of which should be leap years.
Ten Reasons to Try NUnit 2,5
NUnit 2.5 has so many new features (see the release notes) that I thought I'd try to come up with my top-ten favorites. It was hard to get down to ten, but here's what I came up with...
Code Generation in NUnit
The latest code for NUnit 2.5 includes seven generated files, including the Assert class and most of the classes that allow you to write constraint expressions using the NUnit fluent syntax. Some people have asked if generating these files is worth the effort, since the code created is very simple anyway.
NUnit Parameteri[sz]ed Tests Reviewed
Ben Hall has posted a nice summary of the Parameterized Test Features in NUnit 2.5 Alpha-3. Of course, being from the UK and all, he calls them "Parameterised" Tests.
Four Ways to Test Expected Exceptions
Let's say we are testing a piece of code, using arguments that should cause an exception to be thrown. We want the test to ensure that an exception was thrown, that it was the expected Type of exception and - possibly - that the properties of the exception are what they should be.
NUnit's Generic Test Fixtures
One recent addition to NUnit 2.5 is the ability to define generic test fixtures, allowing the same fixture to be reused for multiple types that implement the same interface or even just having common method signatures. For example, the following code tests multiple implementations of IList.
NUnit 2.5 and VS2008
Thanks to a contribution from Microsoft, kindly arranged by Stephen Walther, I now have a copy of Visual Studio 2008 - and NUnit has a VS2008 build! It's available in CVS and will be part of the Alpha-3 release in a week or two. NUnit operates pretty much on a shoestring these days, now that I'm semi-retired, and contributions like this help a lot.
Parameterized Tests With NUnit 2.5
It has been possible to write parameterized tests for NUnit for some time, using Andreas Schlapsi's RowTest Extension, which recognizes the RowTest and Row attributes familiar to MbUnit users.
NUnit 2.5 Alpha 2 Released
With a European trip about to start, I decided to release a second Alpha so that the new stuff would get some visibility. I won't be doing another release till late June, so please give this one a try.
A Simple NUnit Usage Recipe
Scott White has a blog about NUnit Best Practices. The approach may require adjustment on more complex projects, but it's a very simple recipe for those starting out with NUnit.