NUnit Framework

NUnit framework is an open-source unit testing framework in C#. It is an updated version of JUnit.


NUnit framework is an opensource unit testing framework in C#It is an updated version of JUnitThe .Net Foundation hadeveloper this type of unit test framework. It is used for the development and execution of unit tests in the .Net programming language. 

Purpose of using NUnit Framework: 

In the NUnit framework, each module is tested independently to ensure that the objective is met. The NUnit Framework contains a different type of attribute that is used during the unit tests. They are used to define Test – Fixtures, Test methods, Expected Exception, and Ignore methods.? 

Installation Process:   

  • Download and install Visual Studio for development. Based on the requirement, you can download the Community/Professional/Enterprise edition of Visual Studio 2019.  

  • Based on the OS, we can select the packages for the NUnit testing framework in the Visual Studio.     

  • Once the installation is complete, we will need to restart the machine before Visual Studio 2019 can be used. 
  • In NUnitfirst, we need to create a new project in Visual Studio. Go to Visual Studio ? New ? Project. 

  • In the created project, will have the basic test with NUnit annotations used in the source code. 

  • You need to reference the nunit.framework.dll. If you use NuGet, this will be done for you automatically while installing NUnit. 
  • After installing the NUnit we need one more dll that needs to be installed in the project. 

NUnit Test Adapter for Visual Studio 

  • The NUnit Test Adapter allows you to run NUnit tests in Visual Studio.  


  • If you are not adding this component in the project, you may not be able to find the tests in test Explorer. 
  • Navigate to Tools? NuGet Package Manager? Manage NuGet Packages for Solution and search for NUnit & NUnit Test Adapter. 

  • You can find both the Libraries in project reference. 

  • Setup Selenium WebDriver with Visual Studio in C#: 

                 1.Navigate to Tools ? NuGet Package Manager ? Manager NuGet Packages for Solution and search for Selenium. 

  • After clicking the ‘Install’ button, click ‘Okay’ and then click ‘ I Accept’. 

  • After the installation of Selenium WebDriver, you can start automation testing using NUnit in the selenium C# framework. 
  • As we are making use of local Selenium WebDriver, we should download the Selenium WebDriver for Chrome and install/copy it to the location where the Chrome web browser (Chrome.exe) is located. 

List of Attributes/Annotation(Order of Execution): 

  1. OneTimeSetUp – If we use this attribute, then the execution starts from this section. 
  2. SetUp – Setup executes after ‘OneTimeSetUp’  
  3. Test – Test Executes after ‘SetUp’  
  4. TearDown – Test Executes after ‘Test’  
  5. OneTimeTearDown –This attribute executes at last.  


  • If we do not use ‘OnetimeSetUp’ & ‘OneTimeTearDown’, then the Execution starts from ‘SetUp’ and the End of ‘TearDown’. 

Find the below usage of each Attribute/Annotations used in NUnit framework, 

TextFixture Attribute: 

  • The TestFixture attribute is a sign that a class contains test methods. After you mention this attribute to a class in your project, the Test Runner application will scan it for test methods. 


  • The Test attribute indicates that a method within a test fixture should run by the Test Runner application. The method must be public, return void, and can’t be run when the Test Fixture is run. 

  • Now, let us check our test. Go to the Visual Studio Test Explorer. 

  • If we check the Left side of Visual Studio, it will open a pane called Test Explorer with all the test scenarios as follows. 


  • It is used when you want to execute a piece of code in each test case. It identifies a method to be executed each time before a Method or Test is executed.  


  • Next, the execution moves to ‘Test’ Attribute. 

Tear Down: 

  • If we check the sequence of execution, the method that used TearDown attribute will be executed last after the execution of the Test case. 

Here we see the below few more attributes: 

ExpectedException Attribute: 

  • By using this attribute, we need to install ‘MSTest.TestFramework’ package. You can see the error before installing that package. 

  • Here, you can see the exception method that has the custom exception. 

Ignore Attribute:  

  • The Ignore attribute is required to indicate that a test should not be run on a method. You can see the output in Test Detail summary. 


  • It will run just once before any of the tests in the class. So, if you run the class, the method annotated with [OneTimeSetUp] will get executed just once before the first test, and then never again. 


  • It will run once after all the tests are completed. Common usage for these annotations is opening and closing connections before all the tests.   


  • Annotations used in NUnit help in speeding up test development & execution as tests can be executed with numerous input values. 
  • TDD is primarily useful as unit tests are instrumental in finding issues/bugs during the early stages of development. NUnit test framework can be used with Selenium if you plan to use TDD (Test Driven Development) for the test activity. 
  • Provides you the ability to run your test cases in parallel. 
  • Using NUnit, you can execute test cases from console runner by either a third-party automation testing tool or by the NUnit Test Adapter inside the Visual Studio. 

About MST

At MST Solutions our cornerstone is to adapt, engage and create solutions which guarantee the success of our clients. The talent of our team and experiences in varied business verticals gives us an advantage over other competitors.

Recent Articles

Accessing Emails using IMAP

These days verifying the emails is quite natural in most of the applications. While doing automation for those scenarios, we might need the help of SMTP (Simple Mail Transfer Protocols) protocols.

Read Article »

Work with us.

Our people aren’t just employees, they are key to the success of our business. We recognize the strengths of each individual and allow them time and resources to further develop those skills, crafting a culture of leaders who are passionate about where they are going within our organization.