Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
Added a namespace to the props file included in the NuGet package to make it compatible with versions of Visual Studio prior to VS 2017.
This release adds a .NET Standard 2.0 version of the framework which re-enables most of the features that have been missing in our earlier .NET Standard builds like parallelism, timeouts, directory and path based asserts, etc. It also contains numerous bug fixes and smaller enhancements. We've improved our XML docs, fixed performance issues and added more detail to Multiple Asserts.
This release also contains source-indexed PDB files allowing developers to debug into the NUnit Framework. This allows you to track down errors or see how the framework works.
In order to support the .NET Standard 2.0 version, the NUnit project switched to the new CSPROJ format and now requires Visual Studio 2017 to compile. This only effects people contributing to the project. NUnit still supports building and compiling your tests in older .NET IDEs and NUnit still supports older versions of the .NET Framework back to 2.0. For contributors, NUnit can now compile all supported targets on Windows, Linux and Mac using the Cake command line build.
This release addresses numerous parallelization issues that were introduced in 3.8 when method level parallelization was added. Most of the parallelization issues resolved were tests never completing when using some combinations of parallel tests and
ApartmentState not being properly applied to tests in all cases.
This release fixes two critical regressions in the 3.8 release. The first caused the console runner to crash if you are using test parameters. The second issue caused collection constraints checking for multiple items in a collection to fail.
This release removes several methods and attributes that were marked obsolete in the
original 3.0 release. Support for iOS and Android has been improved.
An issue that caused unit tests to run slower was addressed as was a bug that prevented
the use of Assert.Multiple in async code.
The Order attribute can now also be applied to the class level to set the order
that test fixtures will be run.
- 345 Order of Fixture Execution
- 1151 Include differences in output for Is.EquivalentTo
- 1324 Remove CollectionContainsConstraint
- 1670 Attaching files to the test result
- 1674 InRange-Constraint must work with object
- 1851 TestCaseSource unable to pass one element byte array
- 1996 Timeout does not work if native code is running at the time
- 2004 Has.One as synonym for Has.Exactly(1).Items
- 2062 TestCaseSource attribute causes test to pass when source is not defined
- 2144 Allow option on RandomAttribute to produce distinct values
- 2179 Some NUnit project's tests fail on systems with CultureInfo other than en
- 2195 Contains.Substring with custom StringComparison
- 2196 Expose ParallelizableAttribute (and other attribute) constructor arguments as properties
- 2201 Invalid platform name passed to PlatformAttribute should mark test NotRunnable
- 2208 StackFIlter trims leading spaces from each line
- 2213 SetCultureAttribute: CultureInfo ctor should use default culture settings
- 2217 Console runner performance varies wildly depending on environmental characteristics
- 2219 Remove Obsolete Attributes
- 2225 OneTimeTearDown and Dispose Ordering
- 2237 System.Runtime.Loader not available for iOS/Android
- 2242 Running tests directly should never surface a NullReferenceException
- 2244 Add KeyValuePair<TKey, TValue> to the default formatters
- 2251 Randomizer.NextGuid()
- 2253 Parallelizable(ParallelScope.Fixtures) doesn't work on a TestFixture
- 2254 EqualTo on ValueTuple with Nullable unexpected
- 2261 When an assembly is marked with ParallelScope.None and there are Parallelizable tests Nunit hangs
- 2269 Parallelizable and NonParallelizable attributes on setup and teardown silently ignored
- 2276 Intermittent test failures in Travic CI: TestContextTests
- 2281 Add type constraint for Throws and any method requiring Exception
- 2288 Killing thread cancels test run
- 2292 Is.Ordered.By() with a field throws NullReferenceException
- 2298 Write TestParametersDictionary to xml result file in readable format
- 2299 NUnitLite NuGet package no longer installs NUnit NuGet package
- 2304 Revert accidental doc removal
- 2305 Correct misprint ".con" -> ".com"
- 2312 Prevent crash on invalid --result parsing in NUnitLite
- 2313 Incorrect xmldoc on RetryAttribute
- 2332 Update build script to use NUnitConsoleRunner v3.7.0
- 2335 Execute OneTimeTearDown as early as possible when running fixtures in parallel
- 2342 Remove deprecated Is.String* Constraints
- 2348 Can't use Assert.Multiple with async code
- 2353 Provide additional Result information through TestContext
- 2358 Get framework to build under Mono 5.0
- 2360 Obsolete CollectionContainsConstraint Constructors
- 2361 NUnit Parallelizable and OneTimeSetUp with no namespace results in single-threaded test execution
- 2370 TestCaseAttribute can't convert int to nullable long
This is a hotfix release that addresses occasional hangs when using test parallization and fixes crashes in NCrunch prior to version 3.9.
This release of NUnit expands on parallel test execution to allow test methods to be run in parallel. Please see the Parallelizable Attribute for more information.
NUnit 3.7 also drops the Portable build of the framework and replaces it with a .NET Standard 1.3 version to complement the .NET Standard 1.6 version. This change enables several constraints and other features in the .NET Standard builds that weren't available in portable like Path and Directory based asserts.
AssertionHelper class has been deprecated because it is seldom used and has not received any of the updates that Asserts and Constraints receive. If your code is using the
AssertionHelper class, we recommend that you migrate your asserts.
This is a hotfix release of the framework that addresses critical issues found in the 3.6 release.
- 1962 A Theory with no data passes
- 1986 NUnitLite ignores --workers option
- 1994 NUnitLite runner crashing when --trace is specified
- 2017 Two NUnit project's tests fail on systems with comma decimal mark settings
- 2043 Regression in 3.6.0 when catching AssertionException
This release of the framework no longer includes builds for Compact Framework or for SilverLight, but adds a .NET Standard 1.6 build. If anyone still using Compact Framework or SilverLight and would like to continue development on those versions of the framework, please contact the NUnit team.
- .NET Standard 1.6 is now supported
- Adds support for Multiple Assert blocks
- Added the --params option to NUnitLite
- Theories now support Nullable enums
- Improved assert error messages to help differentiate differences in values
- Added warnings with Warn.If(), Warn.Unless() and Assert.Warn()
- Enabled Path, File and Directory Asserts/Contraints for .NET Core testing
- Added NonTestAssemblyAttribute for use by third-party developers to indicate that their assemblies reference the NUnit framework, but do not contain tests
See the release notes for a complete list of changes.
This is the first version of NUnit where the framework will be released separately from the
console runner, engine and other extensions. From this point forward, the NUnit Framework will be
released on its own schedule that is not bound to that of any other NUnit project and version numbers
may diverge over time.
This is also the first release where the NUnit Framework will not be included in the installer. Only
the console runner, engine and extensions will be available as an MSI installer. We recommend that you
use the NUnit NuGet packages for the framework, but a ZIP file with the binaries will also be available.
- Added Assert.Zero and Assert.NotZero methods
- Tests with a Timeout will no longer timeout while you are debugging
See the release notes for a complete list of changes.