- Source: NUnit
NUnit is an open-source unit testing framework for the .NET Framework and Mono. It serves the same purpose as JUnit does in the Java world, and is one of many programs in the xUnit family.
Features
Tests can be run from a console runner, within Visual Studio through a Test Adapter, or through 3rd party runners.
Tests can be run in parallel.
Strong support for data driven tests.
Supports multiple platforms including .NET Core, Xamarin Mobile, Compact Framework and Silverlight.
Every test case can be added to one or more categories, to allow for selective running.
NUnit provides a console runner (nunit3-console.exe), which is used for batch execution of tests. The console runner works through the NUnit Test Engine, which provides it with the ability to load, explore and execute tests. When tests are to be run in a separate process, the engine makes use of the nunit-agent program to run them.
The NUnitLite runner may be used in situations where a simpler runner is more suitable. It allows developers to create self-executing tests.
Assertions
NUnit provides a rich set of assertions as static methods of the Assert class. If an assertion fails, the method call does not return and an error is reported. If a test contains multiple assertions, any that follow the one that failed will not be executed. For this reason, it's usually best to try for one assertion per test.
Nunit 3.x is supporting multiple assertions.
= Classical
=Before NUnit 2.4, a separate method of the Assert class was used for each different assertion. It continues to be supported in NUnit, since many people prefer it.
Each assert method may be called without a message, with a simple text message or with a message and arguments. In the last case the message is formatted using the provided text and arguments.
= Constraint based
=Beginning with NUnit 2.4, a new Constraint-based model was introduced. This approach uses a single method of the Assert class for all assertions, passing a Constraint object that specifies the test to be performed. This constraint-based model is now used internally by NUnit for all assertions. The methods of the classic approach have been re-implemented on top of this new model.
Example
Example of an NUnit test fixture:
The NUnit framework discovers the method ExampleTestOfNUnit.TestMultiplication() automatically by reflection.
Extensions
FireBenchmarks is an addin able to record execution time of unit tests and generate XML, CSV, XHTML performances reports with charts and history tracking. Its main purpose is to enable a developer or a team that work with an agile methodology to integrate performance metrics and analysis into the unit testing environment, to easily control and monitor the evolution of a software system in terms of algorithmic complexity and system resources load.
NUnit.Forms is an expansion to the core NUnit framework and is also open source. It specifically looks at expanding NUnit to be able to handle testing user interface elements in Windows Forms. As of January 2013, Nunit.Forms is in Alpha release, and no versions have been released since May 2006.
NUnit.ASP is a discontinued expansion to the core NUnit framework and is also open source. It specifically looks at expanding NUnit to be able to handle testing user interface elements in ASP.Net.
See also
Test automation
List of unit testing frameworks for .NET programming languages (includes column indicating which are based on xUnit)
XUnit.net
JUnit
References
Bibliography
Hunt, Andrew; Thomas, David (2007). Pragmatic Unit Testing in C# with NUnit, 2nd Ed. The Pragmatic Bookshelf (Raleigh), 2007. ISBN 0-9776166-7-3.
Newkirk, Jim; Vorontsov, Alexei (2004). Test-Driven Development in Microsoft .NET. Microsoft Press (Redmond), 2004. ISBN 0-7356-1948-4.
Hamilton, Bill (2004). NUnit Pocket Reference. O'Reilly (Cambridge), 2004. ISBN 0-596-00739-6.
External links
Official website
GitHub Site
Launchpad Site (no longer maintained)
Test-driven Development with NUnit & Test-driven.NET video demonstration
NUnit.Forms home page
NUnitAsp homepage
Article Improving Application Quality Using Test-Driven Development provides an introduction to TDD with concrete examples using Nunit
Open source tool, which can execute nunit tests in parallel
Charlie Poole, co-developer
Rob Prouse, co-developer
Simone Busoli, co-developer
Kata Kunci Pencarian:
- NUnit
- NUnitAsp
- TestNG
- Dave Thomas (programmer)
- Jenkins (software)
- List of .NET libraries and frameworks
- SharpDevelop
- Andy Hunt (author)
- XUnit.net
- LoadRunner