The blog has moved to a new address. The blog is now located at

Tuesday, May 23, 2006

NUnit 2.4 alpha has been released

NUnit 2.4 Alpha Release


  • The source code directory structure has been reorganized to separate NUnitFramework and NUnitCore.
  • A new nunit.common assembly isolates core interfaces.
  • The following assemblies are now strongly named: nunit.mocks, nunit.core.extensions and nunit.framework.extensions
  • NUnit may now be installed by non-administrators, subject to any security restrictions imposed by the particular site.
  • The .Net 2.0 builds of NUnit are now called "NUnit for .Net 2.0"
  • The NAnt build script has been simplified and now consists only of the and files.
  • The NAnt build script now has a target for building under the Mono 2.0 profile.
  • NUnit is now been built and tested using both Microsoft .Net (1.0, 1.1, 2.0) and Mono (1.0 and 2.0 profiles).


  • When multiple assemblies are loaded, they may use a single AppDomain, as now, or a separate AppDomain for each assembly. The new option provides greater isolation of the tests and allows use of separate config files for each assembly.

    Note: In the Alpha release, separate config files are required when this option is used, even if an NUnit project is loaded.
  • The automatic creation of test suites for each namespace is now optional. When the creation of these suites is suppressed, the fixtures are loaded as a simple flat list, without any hierarchy imposed.
  • When multiple assemblies are loaded, the tests may optionally be merged. If automatic namespace suites are enabled, namespaces are merged across assemblies. This option is only available if a single AppDomain is used.
  • The fixture object is created for the life of the test run and is no longer reused on subsequent runs. If the object implements IDisposable, Dispose is called before destroying it.
  • The current directory is set to the location of the test assembly before running each fixture. This change facilitates running fixtures in any order and eliminates interference between fixtures that change the current directory.
  • Non-public fixture classes are treated as non-runnable and display a warning message rather than being silently ignored.
  • A new SetUpFixture allows one-time SetUp and TearDown at the level of a NameSpace or for an entire assembly.

  • The TestRunner no longer passes "live" tests back to the gui or console. Instead, a data class that encapsulates the info about the test is sent.
  • Registry settings are now stored under Old settings are migrated automatically when the application is first run.
  • When the default config for a test project is set to "NUnitAutoConfig" the configuration of the current NUnit build is automatically selected for the tests, if available. This is intended for use by NUnit developers.

1 comment:

Troy DeMonbreun - NUnit said...

Here is an article "Learn the new NUnit 2.4 Constraint-Based Assert Model" that covers the basics of the new assert model introduced in NUnit 2.4:,guid,21b4cfe8-9d82-443f-86a5-db2d93d6e617.aspx