NUnit is a unit-testing framework for all .NET languages. It can run on MacOS, Linux and Windows operating systems. NUnit can be used for a wide range of testing, from unit testing with TDD to full fledged system and integration testing. It is a non-opinionated, broad and deep framework with multiple different ways to assert that your code behaves as expected. Many aspects of NUnit can be extended to suit your specific purposes.
The latest version, version 5, is an upgrade from the groundbreaking NUnit 3 and NUnit 4 frameworks. It is a modernized version, aimed at taking advantage of the latest .NET features and C# language constructs.
If you are upgrading from NUnit 3, be aware of the breaking changes. Please see the NUnit 4 Migration Guide and take care to prepare your NUnit 3 code before you do the upgrade. If you're upgrading from NUnit 4, please check the release notes for version 5 (https://docs.nunit.org/articles/nunit/release-notes/framework.html).
The latest stable release of the NUnit Framework is available on NuGet or can be downloaded from GitHub. Pre-release builds are available on MyGet.
Documentation for all NUnit projects can be found at the documentation site.
For more information on contributing to the NUnit project, please see CONTRIBUTING.md and the Developer Docs.
NUnit 4.X and 5.X are being developed by the NUnit teams and numerous community contributors. A complete list of contributors since NUnit migrated to GitHub can be found on GitHub.
NUnit 3.0 was created by Charlie Poole, Rob Prouse, Simone Busoli, Neil Colvin and numerous community contributors.
Earlier versions of NUnit were developed by Charlie Poole, James W. Newkirk, Alexei A. Vorontsov, Michael C. Two and Philip A. Craig.
NUnit is open source software, and all NUnit components are released under the MIT license. Some earlier releases used the NUnit license. Both of these licenses allow the use of NUnit in free and commercial applications and libraries without restrictions.
NUnit is made up of several projects. When reporting issues, please try to report issues in the correct project.
- NUnit Test Framework - The test framework used to write NUnit tests (this repository)
- NUnit Visual Studio Adapter - Visual Studio/Dotnet adapter for running NUnit 3 and higher in Visual Studio or the
dotnetcommand line. - NUnit Analyzers - Roslyn analyzers for NUnit tests, providing code analysis and refactoring support in Visual Studio and other IDEs that support Roslyn analyzers.
- NUnit Console and Engine - Runs unit tests from the command line and provides the engine that is used by other test runners to run NUnit tests.
- NUnit Visual Studio Templates - Project templates and snippets for writing unit tests in Visual Studio. This repo is for reference only, as the templates have been donated to the Dotnet project and are maintained there, and also released as part of the dotnet releases.
- Visual Studio Test Generator - Generates NUnit tests in Visual Studio
- NUnit 2 Visual Studio Adapter - Visual Studio adapter for running older NUnit 2.x tests in Visual Studio and in VSTS/TFS builds
- NUnit 2 Driver - Allows the NUnit 3 engine to run NUnit 2 tests
- NUnit 2 Result Writer - Writes test results in the legacy NUnit 2 format
- Visual Studio Project Loader - Loads and parses Visual Studio projects and solutions
- NUnit Project Loader - Loads NUnit projects