Donate Share

NUnit .Net unit testing framework

File Release Notes and Changelog

Release Name: V2.5.1

Notes:
NUnit 2.5.1 - Version 2.5.1.9189 - July 8, 2009

New Features

Framework

* A new TestResult state has been defined for tests cancelled by the user. 
  Results with ResultState.Cancelled are reported as a type of failure and 
  no longer generate an ApplicationException.

* Parameterized test fixtures with TestCaseSource or ValueSource data are 
  now constructed using the appropriate parameterized constructor when test 
  cases are being created. This avoids the need for a default constructor 
  and permits use of member data initialized from the fixture parameters 
  in creating the test data.

* The TestCaseData class now supports use of a string or other array type 
  as the sole argument value, without the need to nest that array in an 
  object array.

* Abstract classes marked with TestFixtureAttribute are no longer reported 
  as ignored or non-runnable.

  Note: This was changed in 2.5 but was omitted from the release notes.

* The methods in the Text class are now marked as obsolete. For string 
  constraints, use one of the following at the start of an expression:
    o Is.StringContaining
    o Is.StringStarting
    o Is.StringEnding
    o Is.StringMatching 
  Within an expression (afer Not, Some, All, And, Or, etc.) you may use
    o Contains or ContainsSubstring
    o StartsWith
    o EndsWith
    o Matches 

* ThrowsConstraint now has a constructor taking an ActualValueDelegate 
  in addition to the constructor that takes a TestDelegate. This allows 
  simpler use of Lambda expressions under C# 3.0, but requires users of 
  pre-3.0 compilers to disambiguate their delegates by use of an explicit 
  return expression. 

Core

* Individual test cases under a parameterized test are no longer sorted
  by name within the test group but are run (and shown in the Gui) in the
  order in which the data is retrieved.

  Note: Since the order of retrieval of custom attributes is not 
  guaranteed by the CLR, the order of test cases will not necessarily 
  match the textual ordering of attributes in the source code. The 
  order of tests will vary across different compilers and CLR 
  versions as well.

* The XML test result file now contains a count of inconclusive results. 

Gui

* The default icons in the Gui tree have been updated.

* Alternative icons placed by the user in the directory containing 
  nunit.uikit.dll may now be in PNG format. Icons are now recognized 
  for Skipped and Inconclusive status in addition to Success, Failure 
  and Ignored.
  
* A new setting option allows the user to disable checking for the 
  existence of files in the Recent Files list before listing them. 
  This prevents NUnit from appearing to freeze when the file is on 
  a network path that is no longer connected. 

Extensibility

* The ITestCaseProvider2 and IDatapointProvider2 interfaces extend 
  ITestCaseProvider and IDatapointProvider with methods that include 
  the fixture for which the test case is being built. Providers may 
  implement either the old or the new interface, but the new interface 
  is required if the data source is contained in the test fixture 
  itself so that the fixture may be constructed with the proper 
  parameters in the case of a parameterized fixture. 

Bug Fixes

* Lambda in Throws constraint was not compiling correctly.

* Null reference exception is no longer thrown when adding an 
  assembly to a new project that has not yet been saved.

* Dispose is now called on disposable types created while 
  loading test case parameters.

* Installations that copy NUnit to a single folder (no lib or 
  framework folders) now work correctly.

* Test Assemblies menu item is no longer enabled when no test 
  has been loaded
    
* The Text Output tab of the Settings dialog no longer causes an 
  exception when invoked from the mini-gui.

* Errors in various copyright statements were fixed and the year 
  updated to 2009.

* Control characters in test arguments are now escaped in the display.
* Additional control characters are now escaped in error messages.

* Miscellaneous typographic corrections were made to the documentation. 


Changes: