Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; MenuItem has a deprecated constructor in /home/charl422/nunitsoftware.com/nunitv2/php/build_menu.php on line 34 NUnit - ReleaseNotes
This release is principally concerned with revisions to the build, including creation of a Cake build script.
A new NuGet package provides the core assemblies for use in writing third-party runners.
Add Compatibility error for async void tests
37 Simplify build scripts
38 Create Cake build script
39 Give compatibility error on async void tests
42 Use nuget for dependencies
44 Create a package for core and util
46 Fix links in nuget packages
NUnit 2.6.5 - Version 2.6.5 - April 19, 2018
This is the first release of NUnit V2 under the NUnit Legacy project.
There is no longer a documemtation package and docs are no longer included in either the source or binary packages. Documentation is exclusively online now.
There is no longer a samples package. NUnit samples are maintained separately by the NUnit Project.
The solution file has been renamed as nunitv2.sln, to reduce confusion with NUnit 3
The language level for all projects is now specified. C# 3.0 is used for most projects with three projects targeting .NET 4.5 using C# 5.0.
The following Types and methods have been marked obsolete:
Added ApartmentAttribute, as used in NUnit 3.
Added OneTimeSetUpAttribute and OneTimeTearDownAttribute, as used in NUnit 3.
Added Does static syntax class, as used in NUnit 3.
The following NUnit 3 compatible options are now supported on the command-line:
The console runner now produces an NUnit 3 compatibility report, triggered throught the --compatibility option.
1 Replace key file for building under VS2015 and later
2 Mark attributes and methods obsolete
3 NUnit 2.6.4 source zip is missing files
5 Back-port OneTimeSetUp and OneTimeTearDown attributes
6 Update Readme file
7 Back-port ApartmentStateAttribute
8 Back-port Does class
10 Project not building on Travis
12 Intermittent failure in AssemblyWatcherTests
18 NUnit 3 Compatibility Report
19 Adhoc addins not seen by RequiredAddinAttribute
21 Rename solution to nunitv2
22 Specify language level of all projects
24 Remove .NET 1.1 Build
28 Make project standalone
29 Eliminate doc and samples packages from releases
30 Add console option aliases for compatibility with NUnit 3
NUnit 2.6.4 - Version 18.104.22.16850 - December 16, 2014
NUnit 2.6.4 no longer attempts to load tests compiled against NUnit 3.0, which it is unable to run correctly. Previously, the tests appeared to run partially, but either failed silently or gave confusing messages. It's necessary to use a 3.0 runner to run 3.0 tests.
Async tests are now supported under.NET 4.0
4 AsyncStateMachineAttribute should only be checked by name
6 Is.InRange Constraint ambiguity
7 EquivalentTo isn't compatible with Ignorecase for char
8 EquivalentTo isn't compatible with Ignorecase for dictionaries
9 Incorrect XML comments for CollectionAssert.IsSubsetOf
13 TestCaseSourceAttribute documentation
14 Path-related tests fail on Linux
15 Async tests should be supported for projects that target .NET 4.0
16 Matches(Constraint) does not work as expected
18 Specifying a tolerance with "Within" doesn't work for DateTimeOffset data types
22 Include/exclude command line switch not respected between runs
28 Assert.Pass with ]]> in message crashes console runner
30 NUnit V2 is still checking for NUnitLite 3.0
NUnit 2.6.3 - Version 22.214.171.12483 - October 10, 2013
When running under .NET 4.5, async methods may now be used as the target of a ThrowsConstraint.
When running under .NET 4.5, async methods may now be used as an ActualValueDelegate passed to Assert.That() or Assume.That().
1071164 Support async methods in usage scenarios of Throws constraints
1071714 TestContext is broken when a previous version of the runner is used alongside a new version of the framework
1071861 Error in Path Constraints
1072379 Report test execution time at a higher resolution
1074568 Assert/Assume should support an async method for the ActualValueDelegate
1079296 NUnit 2.6.2 Failure on Mono
1082330 Better Exception if SetCulture attribute is applied multiple times
1086975 Security Exception After Upgrading to 2.6.2
1096902 Trace output is disabled by default in version 126.96.36.19996
1097854 Incorrect documentation for console runner /test option
1107746 Add nunit tags to nuget packages
1130239 classicModel.html is linked in local help, but doesn't exist
1167638 Incorrectly detected recursion with types implementing IEnumerable and overriding Equals/operators/value types
1167805 cross-domain problems with XmlSchema and call context
1222148 /framework switch does not recognize net-4.5
1235891 Proposed 2.6.3 release: ArgumentNullException in NUnit.Framework.AsyncInvocationRegion..cctor
NUnit 2.6.2 - Version 188.8.131.5296 - October 22, 2012
Tests may now be loaded and run from a shared directory specified as a UNC path.
Tests may now be run under .NET 4.5.
When running under a debugger, any nunit-agent process launched will break and allow the option to continue debugging the agent process as well.
J# and old-style managed C++ samples have been removed. F# samples are now included. Code samples are no longer included in the standard installs but are available as a separate download. All samples now use VS2010 projects.
The source code now includes solutions for VS2010 and VS2012. The VS2008 solution has been removed.
The NAnt build now uses NAnt 0.92.
NSubstitute has been upgraded to version 1.4.3.
When running under .NET 4.5, async test methods are now supported. For test cases returning a value, the method must return Task<T>, where T is the type of the returned value. For single tests and test cases not returning a value, the method may return either void or Task.
The Platform attribute has been upgraded to recognize .NET 4.5, MaxOsX and XBox.
TestCaseSource may now specify a class that implements IEnumerable without specifying the name of a method.
New options /basepath and /privatebinpath allow specifying the ApplicationBase and probing path on the command line.
1029785 Test loaded from remote folder failed to run with exception System.IODirectory Not Found
1029941 Missing basepath and privatebinpath arguments in nunit-console
1033537 Spurious behaviour using keyboard menu key
1034242 Update VS Solution to VS2010
1036699 Documentation is missing info about the /test command line option
1037130 Update NSubstitute to 1.4.3
1041365 Add MaxOsX and Xbox support to platform attribute
1042385 Convert all sample projects to VS2010
1043641 New text output tab doesn't display anything until NUnit is closed and re-opened
993247 Tests fail with IOException: Too many open files
994691 Update nSubstitute to 1.4.2
997871 Console test runner does not return non-zero exit code when there are invalid tests
1000181 Parameterized TestFixture with System.Type as constructor arguments fails
1006604 Explicit test runs if /exclude parameter is used
1012128 Not all tests are carried out in Windows 7 x64
1023058 Remove limitations on location of ConfigurationFile in project editor
1025218 Using Open Generic Types In TestFixture Attribute Causes Exception When Loading Test DLL
1027227 QuickStart document needs to be updated
1027269 Problem with "Exclude these categories"
NUnit 2.6 Final Release - Version 184.108.40.20651 - February 20, 2012
Support for .NET 1.0 / 1.1 is no longer included in the main distribution
for NUnit but is provided as a separate package.
NUnit's executables now use config files that allow smoother running
of mixed assemblies built for .NET 2.0 under .NET 4.0.
When opening Visual Studio formatted solutions, NUnit now uses the
solution configuration by default, resulting in changed behavior from
previous releases. The Settings Dialog may be used to revert NUnit to
the earlier behavior, which ignored solution configurations.
NUnit Mocks is now deprecated. All classes are now marked as obsolete.
NUnit now uses the NSubstitute mock framework its own tests. A copy of the
NSubstitute dll is included in the distribution.
NUnit no longer stores settings in the test configuration file, as it
did in earlier versions. Specifically, we no longer recognize or support
Changing the URL to be used for NUnit help through NUnit's config file
is no longer supported.
NUnit is now built using .NET 3.5 or higher. All NUnit assemblies and most tests
target .NET 2.0 but the full set of tests requires 3.5 or greater to execute.
The build script selects either .NET 3.5 or .NET 4.0 to perform the build,
depending on what is available. A Visual Studio 2008 solution is also provided.
NAnt 0.91 release is now used for building.
The Windows installer is now built using WiX 3.5, upgraded from 2.0.
The TestRunner interface has been modified. Applications using this
interface will need to be modified but general users are not effected.
NUnit now supports composable Action Attributes, which allow the
test developer to put reusable test actions into attributes and attach
these actions to suites, tests, and test cases. The actions can run
arbitrary code before and after suites, tests, and test cases execute.
It enables the test developer to build smaller reusable actions and to
compose them in unique ways for each suite, test, or test case.
The following Attributes have changes in NUnit 2.6:
TestCaseAttribute now accepts Explicit and Reason
TestCaseSourceAttribute now accepts a Category named parameter.
TestCaseData now supports marking individual test cases as Explicit.
EqualConstraint now recognizes and uses IEquatable<T> if
it is implemented on either the actual or the expected value. The interface
is used in preference to any override of Object.Equals(), so long as
the other argument is of Type T. Note that this applies to all equality tests
performed by NUnit.
PlatformAttribute accepts "Windows8", "Windows2012Server", "Net-3.0",
"Net-3.5", "Mono-3.0" and "Mono-3.5" as arguments. Note: Since the 3.0 and 3.5
frameworks all use the 2.0 runtime, the semantics of their use is slightly
different from other key words. The "3.5" arguments also include "3.0" and "2.0"
and the "3.0" arguments include "2.0" in their interpretation.
TestFixtureAttribute now accepts a Category named parameter,
allowing individual fixture instances to be included in or excluded from
a test run.
The following additions have been made to the Constraint syntax:
User-defined equality comparers specified with the Using syntax
element may now be used with collections, arrays and dictionaries. The
Using(...) syntactic element may be repeated multiple times in
an expression, so long as each comparer applies to a different Type.
NUnit will use the appropriate comparer, depending on the Type of the
arguments. Among other things, this allows overriding the default
NUnit comparison of collections, arrays and dictionaries.
Is.Positive may be used as a synonym for Is.GreaterThan(0).
Is.Negative may be used as a synonym for Is.LessThan(0).
Has.Exactly(n)... may be used in place of Has.Some...
in order to allow tests over collections that must be satisfied a
specific number of times.
When Assert.Throws() fails due to an exception of the wrong Type being
thrown, the error message now includes the Message and Stack Trace from the
Visual Basic users may now use Assert.ByVal rather than Assert.That()
to avoid errors when the first argument is a property with a non-public setter.
Documentation is provided for the previously undocumented TestContext.
A new property TestContext.WorkDirectory allows tests to access the
name of a directory to be used for file output. This directory may be
specified by use of the /work option of nunit-console.
So-called "old-style" tests, identified by having a name beginning with
"Test" are no longer supported in NUnit 2.6.
Setting a ThreadPriority for the test runner thread is no longer supported
under NUnit 2.6.
The following new command-line options are provided:
-result is a synonym for -xml, specifying the file to be used
for output of the test results in XML form. The -xml option is still
recognized but will be removed in a future release.
-noresult allows supressing the xml result output entirely.
-work is used to specify the directory to be used for output files. Any
relative paths specified with the -output, -err or -result
options are resolved using this directory as a base.
-runlist allows the user to specify a file that contains the names of the
tests to be executed rather than listing them directly on the command line.
-stoponerror causes execution of the test run to terminate
immediately on the first test failure or error.
-apartment is used to specify the ApartmentState (STA or MTA)
of the test runner thread. Since the default is MTA, the option is
only needed to force execution in the Single Threaded Apartment.
The .NET 1.1 build of nunit-console no longer supports the -process
or -framework option. There is no automatic runtime detection and
tests execute under same runtime as the console runner itself. If this
functionality is needed when running tests under .NET 1.1, use the standard
console runner to execute the tests in a separate process.
The Project Editor is now a separate program, which may be executed directly
or run through the Project | Edit dropdown menu of the NUnit GUI. The editor
now provides two main views of the project: a property-oriented view based
on the Project Editor that was built into earlier versions of the NUnit GUI
and an xml view, which allows simple editing of the .nunit file.
The Gui now displays invalid tests in red immediately upon load, without waiting
for the user to run them. Tests marked with the IgnoreAttribute are displayed
in yellow immediately as well.
The test reload functionality in the Gui has been rewritten and simplified so that
the same logic is used for all cases where the visual state of the tree is to be
recovered. Test results are now found even if changes to the assembly have resulted
in the assignment of new ids to the tests.
A number of new settings are available using the Settings Dialog:
The Tree Display page allows the user to select alternate image sets for
use in the test tree. Additional user-provided image sets may be added if desired.
The Text Output page allows setting the threshold for capture and display
of log4net output (previously controlled by the test config file).
The Project Editor page allows the user to select whether the NUnit
Project Editor or another external program will be used when editing
the settings file.
The Runtime Selection page allows enabling or disabling automatic
detection of the target runtime for each test assembly.
The Advanced Loader Settings page now allows specifying the argument to use
in calling SetPrincipalPolicy for each test AppDomain.
The Visual Studio page now includes a setting that enables or disables
the use of solution configs when loading Visual Studio solution files.
The Internal Trace page now shows the directory path to which log files
will be saved.
The location of the settings dialog under the Windows AppData directory has been
changed from Roaming to Local. Users will need to reset their preferences in some cases.
By default, test Cases under a Theory that fail an assumption are no longer shown in the tree.
A context menu item has been added to allow the user to view them.
The properties dialog has been redesigned to be more compact and readable.
The context menu for the test tree has been simplified.
The directory containing the log files may be opened directly from the Gui by
use of a new item on the Tools menu.
Test summary results are truncated when the window size is too small. The full
summary is displayed when hovering over the field.
The PNUnit code has been updated using the latest build from the developers
at Codice Software and additional examples are provided in the source.
498659 Registry entries and shortcuts remain after install
498690 Assert.That() doesn't like properties with scoped setters
602761 nunit-agent hangs after tests complete
605034 Log4net not working with NUnit
625672 NUnit GUI bounces to background on reload
638289 Install uses CURRENT_USER instead of LOCAL_MACHINE for AssemblyFoldersEx
657801 Help URL should not be in config file
676560 Assert.AreEqual does not support IEquatable<T>
691129 Add Category parameter to TestFixture
692180 Script should allow building for net-2.0 under 3.5 or 4.0
697069 Feature request: dynamic location for TestResult.xml
697329 NUnit tries to test disabled projects
701331 TestFixture attributes on base classes are not ignored
702734 Separate packaging of NUnit for .NET 1.1 and 2.0
708173 NUnit's logic for comparing arrays - use Comparer<T> if it is provided
709062 "System.ArgumentException : Cannot compare" when the element is a list
711330 Test-free assembly given failure icon in tree display
712156 Tests cannot use AppDomain.SetPrincipalPolicy