Monday, May 9, 2011

.NET/ASP.NET Interview Question - How to do Unit Testing by using Nunit?

Answer:

Unit testing is validation and verification technology where the developer tests the individual units of source code. These individual units can be functions, methods or class.

Below is the simple Math class which has a Add function with two input parameter. The Add function basically adds the number and gives the addition of these two numbers.

As a developer we would like to test is this Add function actually works properly or not .
namespace NunitTest
{
  public class Math
  {
      public int Add(int i, int j)
      {
          int sum;
          sum = i + j;
          return sum;
      }
  }
}

In order to do unit testing by using Nunit the first thing you need to create a simple CheckNunit class as shown in the code below.
namespace CheckNunit
{
  [TestFixture]
  public class NunitTest
  {
      [Test]//it is called as attribute
      public void check()
      {
          Math obj = new Math();
          int result = obj.Add(10, 20);
          Assert.AreEqual(30, result);
      }
  }
}

In NunitTest class the check function is attributed by the Test.it is saying that we are passing 10 and 20 value and we are expecting the result as 30.if the result is 30 then everything is working properly else there is something wrong in the code.


Once you have completed the above steps, Open Nunit software and select the .dll file of CheckNunit like the following diagrams.






Now click on run button and see the respective output. If it displays green color then everything is working fine and if it displays red color then there is something wrong in code. The following two diagram will give you an better idea.





Let inject a small defect, so that we can check how Nunit display the result. Now I change the Addition(+) sign as Multiplication(*) sign so the method fail to add values and Nunit displays Red signal like below diagram.





Please click here to see more .NET/ASP.NET interview questions

Regards,
Visit Authors blog for more .NET and SQL Server interview questions

No comments: