What is Nunit?

Posted by in C# category on for Beginner level | Views : 26521 red flag

This Section will be cover what is nunit ?

 Download source code for What is Nunit?

What is Nunit?

Please feel free to download my free 500 question and answer e-Book which covers .NET , ASP.NET , SQL Server , Share point, WCF , WPF , WWF, LINQ, Silverlight, .Net Best Practise@ http://www.questpond.com .


• NUnit is an automated unit-testing framework for all .Net languages.
• Initially ported from JUnit, which is a unit testing framework for Java applications.
• It is written entirely in C# and has been completely redesigned to take advantage of many .NET language features.
• NUnit brings xUnit to all test are written in .NET supported language e.g. C#, VC, VB.NET, J# etc.
• NUnit is an open source free to use with your .NET projects.
• NUnit provides a class library which includes some classes, features and methods to help you write test scripts.
• NUnit provides user interface application to execute the test scripts and displays result
• NUnit does not create any test scripts by itself. We have to write test scripts and use NUnit tools and classes to make the unit testing easier and display the result as a success or failure.

Features of NUnit

• Assertions
• Attributes

1. Assertions


Assertions are central to unit testing in any of the xUnit frameworks, and NUnit is no exception. NUnit provides a rich set of assertions as static methods of the Assert class.
The most commonly used assertions.
• Equality Asserts
• Identity Asserts
• Comparison Asserts
• Type Asserts
• Condition tests
• Utility methods
• StringAssert
• CollectionAssert
• FileAssert
• Equal Constraint (Available NUnit 2.4)
• Same As Constraint (Available NUnit 2.4)
• Condition Constraints (Available NUnit 2.4)
• Comparison Constraints (Available NUnit 2.4)
• Type Constraints (Available NUnit 2.4)
• String Constraints (Available NUnit 2.4)
• Collection Constraints (Available NUnit 2.4)
• Compound Constraints (Available NUnit 2.4)
• Custom Constraints (Available NUnit 2.4)

2. Attributes

• Category
• Description
• ExpectedException
• Explicit
• Ignore
• Platform
• Property
• SetUp
• SetUpFixture
• Suite
• TearDown
• Test
• TestFixture
• TestFixtureSetUp
• TestFixtureTearDown

Getting Started with Nuint

You can download Nuint from
Here you will find documentation, downloads, tutorial sample on Nuint

• Install Nuint in your PC
• Go to start all programs nuint

Figure: GUI of Nuint

Working of Nuint with C#

Step 1

Install Download Nuint which is an open source .

Step 2

Install Nuint in your system

Step 3

Open your c# project and Create c# project then write a bussinessLogic in Class.cs file
For e.g.:
Create Invoice class for customer placing an order

Step 4

Add References in Project
Browse references from
C:\Program Files\NUnit 2.5.2\bin\net-2.0\framework
i.e. nunit.framework.dll

Step 5

Add another cs file in same project.
Add namespace of Nuint

i.e. using NUnit.Framework;

create class TestNuint
above class TestNuint add attribute

class TestNuint

Step 6

Create TestMethod to test businesslogic

public void TestInvoice()
Above this method Add attribute [Test]
public void TestInvoice()

Step 7

Create object for bussinessLogic

clsInvoice objInvoice = new clsInvoice();
create your own expected result variable 
//Expected Result
double _expectedTotalCost;
string _expectedProductDetails;
string _expectedInvoice;
string _CustomerName = "";
string _ProductName = "";
double _ProductCost = 0;
double _Quantity = 0;

Assign same values to both your expected result variable and objInvoice varibles

//Set Expected Result Variables
_CustomerName = "Shyam";
_ProductName = "L G Color TV";
_ProductCost = 22000;
_Quantity = 2;
_expectedTotalCost = _ProductCost * _Quantity;
_expectedProductDetails = _ProductName + " Cost of " + _ProductCost;
_expectedInvoice = _CustomerName + " For product " + _ProductName + " Quantity " + _Quantity + " Total Cost " + _expectedTotalCost;

//Set same values to object of class businesslogic

clsInvoice objInvoice = new clsInvoice();

objInvoice.CustomerName = "Shyam";
objInvoice.ProductName = "L G Color TV";
objInvoice.ProductCost = 22000;
objInvoice.Quantity = 2;
_actualTotalCost = objInvoice.ProductCost * objInvoice.Quantity;
_actualProductDetails = objInvoice.DisplayProductDetails();
_actualInvoice = objInvoice.DisplayInvoice();

//Now to Compare two result


Assert.AreEqual(_expectedInvoice, _actualInvoice);

Assert.AreEqual = It compares two objects makes special provisions so that numeric values of different types compare as expected.

Finally Build Solution

Step 8

Open your Nuint GUI Click File Create Nuint Project
then add assembly

Select your Build Solution .dll file from C# Project


Finally Click on Run Button to test your c# project

Test Result

If test runs successfully then it will display

This test successful

Assert.AreEqual(_expectedInvoice, _actualInvoice);

_expectedInvoice and _actualInvoice values are equal

If Test is unsuccessfull having some errors then it will display

This test fails due to

Assert.AreEqual(_expectedInvoice, _actualInvoice);

_expectedInvoice and _actualInvoice values are unequal

Source Code 

YOu can download the Soure code from top of this article. 

Page copy protected against web site content infringement by Copyscape

About the Author

Full Name: Gurunatha Dogi
Member Level: Starter
Member Status: Member
Member Since: 8/13/2009 12:50:13 AM
Country: India
Gurunatha Dogi
Gurunatha Dogi, is a software engineer by education and profession. He likes c#, java, php, , asp.net, sql server and seo optimization. During free time he likes to write blogs on various technical topics and tips and tricks on search engine optimization. He likes to play guitar and cricket. Currently he is working in @Questpond one well known of e-learning firm in India.

Login to vote for this post.

Comments or Responses

Login to post response

Comment using Facebook(Author doesn't get notification)