A post on the TDD list asks about running NUnit tests using the Start button in Visual C# Express. In Visual Studio 2003 and 2005, you can set up a project’s Debug properties so that an arbitrary external program is executed. By selecting NUnit as that program and providing the correct command-line options, you can cause your tests to be run.
In my last post, about the NUnit teams plans for trying out the Microsoft CodePlex site, I introduced the NUNitLite project. One thing I mentioned was the possibility of its being released under the GPL license. This seems to have gotten more reaction than anything else in the post. I find that a bit disappointing, because I thought there were some other cool things in it. 🙂
Be that as it may, I’ll try to explain here why my next software project might use GPL and what kind of considerations I’m looking at in making a final choice.
NUnit originally identified tests in the time-honored way that is still used by most xUnit frameworks. Test classes inherited from the framework’s TestCase class. Individual test case methods were identified by their naming pattern.
I’m afraid I’m pretty erratic about announcing new NUnit releases on the blog. NUnit 2.2.8 was released on April 21, 2006. It has a number of bug fixes to the original 2.2.4 feature base.
Everything since 2.2.4 has been bug fixes. Some folks are wondering where the features they asked for are. They’re in the development codeline, which you can get from CVS on Sourceforge if you want to build it yourself. We also issue periodic snapshots, the last of which was 2.3.6119, released on April 29, 2006.
We’re quite close to an alpha release of NUnit 2.4. It features lots of cool things, including new Asserts, assembly and namespace level SetUp and execution of tests in multiple AppDomains. You can read more about it in our Roadmap.
There are some traps involved in running tests from code that are not immediately obvious. This was brought forcibly to my attention when I recently worked on a failing test that someone else had written.
The test in question is internal to NUnit. It attempts to run a single fixture out of a particular assembly, and then verifies that the results are as expected. I’ll cover some of the traps encountered in the order that I resolved them.