NUnit 3.6

@rprouse rprouse released this Jan 10, 2017

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.


NUnit 3.5

@rprouse rprouse released this Oct 4, 2016

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.


NUnit 3.4

@rprouse rprouse released this Jun 25, 2016 · 2 commits to release/3.4.0 since this release


  • Improvements in comparing equality using IEquatable
  • Test case names will only be truncated if the runner requests it or it is overridden on the command line with the --test-name-format option
  • The .NET 2.0 version of the framework now includes LINQ. If your tests target .NET 2.0, you can now use LINQ queries in your tests


  • The TeamCity event listener has been separated out into an engine extension
  • Fixed numerous issues around thread safety of parallel test runs
  • Additional fixes to reduce memory usage
  • Fixes for Mono 4.4

Console Runner

  • There is a new --params command line option that allows you to pass parameters to your tests which can be retrieved using TestContext.Parameters
  • Another new command line option --loaduserprofile causes the User Profile to be loaded into the NUnit Agent process.

See the release notes for a complete list of changes.


NUnit 3.2.1

@rprouse rprouse released this Apr 19, 2016

This is mainly a bugfix release, but it contains several features that were intended for the 3.4 release.

NUnit 3.2 introduced a change that ran each test on its own thread. In hindsight, this was a mistake and made it difficult for tests that required a specific context. We have reverted to the previous behaviour of running tests on the same thread unless a test attribute requires a new thread. We also added a new [SingleThreaded] attribute that you can apply to your test fixture to explicitly declare the requirement. Using this attribute allows the framework to raise an error if you mistakenly use an attribute on a test that requires a new thread.

Developers who target .NET 3.5 using the .NET 2.0 version of the framework ran into conflicts with some of the compatibility classes in NUnit. To fix this, we have reinstated the .NET 3.5 version of NUnit.

Very large test suites were using a large amount of memory causing paging and slow test runs on some systems. To reduce memory pressure, we are now releasing objects earlier, greatly reducing memory requirements.

The NUnit Engine now has an EventListener extension point for people who want to write extensions that respond to specific events during test runs.

For a full list of issues fixed in this release, please see the release notes.