Showing posts with label nunit. Show all posts
Showing posts with label nunit. Show all posts

Tuesday, October 11, 2011

Introduction to NUnit Assertions

Continuing our tutorial after the first NUnit program, lets get ourselves bit accustomed with the central command/class in the framework - "Assert"

The Assert class defines tons of static methods which we use to verify the correctness of the program under test. So our test cases essentially perform some action on the program and then assert whether the outcome is what we expect. For eg: passing two arguments 2 & 3 to an Add method should return 5. If the method returns anything other than 5 then the Assertion fails which in turn marks the test-case as failed. Simple right! Yes!

So lets write few simple test-cases to see the Assert in action.To keep things simple lets not bother ourselves to find a program to test, we will simply use assertions on variables.
So go ahead and add a new class to the solution (Right click on solution name > Add > Class) and name it SimpleAssertions.cs. Paste the below code in this class file, rebuild the solution and Run the test-cases in NUnit

using System;
using NUnit.Framework;

namespace NUnitTest1
{
    [TestFixture]
    class SimpleAssertions
    {
        [Test]
        public void Add()
        {
            int val = 5 + 5;
            Assert.AreEqual(10, val);
        }

        [Test]
        public void FindGreater()
        {
            int a = 45;
            int b = 28;
            Assert.Greater(a, b);
        }

        [Test]
        public void CheckNull()
        {
            string str = "";
            Assert.NotNull(str);
        }

        [Test]
        public void IgnoreCase()
        {
            string small = "something";
            string caps = "SOMETHING";
            StringAssert.AreEqualIgnoringCase(small, caps);
        }
    }
}

Nothing fancy going here and the code is extremely readable thanks to clear method-names in NUnit. All the test-cases will pass when you run them.



Friday, July 1, 2011

CLR version error on starting Nunit

I am totally new to Nunit and creating test cases in VS for it, so I google for tutorial, follow the steps word by word try to pull the project in NUnit and am received by a lovely window


Makes me feel either I am too dumb or Nunit needs to test their own product (least they could do is have some user friendly message and direct to proper documentation)

But things are not meant to be simple in ITville so I call upon my dear friend Google to help me out again and found a solution for how to fix it here

Just copying over the solution for ease of reference:
Open the nunit-x86.exe.config file (My file is at C:\Program Files (x86)\NUnit 2.5.10\bin\net-2.0)
Under <configuration> add:
<startup> 
     <supportedRuntime version="v4.0.30319" /> 
</startup>

and under <runtime> add:
<loadFromRemoteSources enabled="true" />

NOTE: It is always a good idea to leave the original setup files untouched (just in case you screw up something). Normally I rename the original file by adding a .ORIG extension, make its copy and then do any changes that I want.

If you still happen to get the same error every time you open NUnit, then delete all the shortcuts for NUnit and create a new one from the .exe in the bin folder again.

Credits: http://stackoverflow.com/questions/930438/nunit-isnt-running-visual-studio-2010-code

NUnit: The Very First Test Project

Goal: To run the simplest C# test cases created in NUnit

Setup: Visual Studio C# 2010 Express, and NUnit 2.5.10 (If you don’t have these installed follow the installation process here)

Steps:
  1. Create the Test Project
    i)    Open Visual Studio
    ii)    Create New Project using template ‘NUnit Test Application’ and rename it if you want
    iii)   The project will be created and the solution explorer will look like this 
    iv)   If you open the file ‘TestFixture.cs’ sample test cases have already been created for you containing a test case which will Pass and another that will Fail
    v)    Go ahead and build this solution by clicking Debug > Build (hit CTRL + SHFT + B)
  2. Run the Test Project
    i)    Open Nunit and click File > Open Project
    ii)    Browse to the .dll or .exe file for the .NET project we have created in step 1 (My location: (C:\Users\QA Computer\Documents\Visual Studio 2010\Projects\NUnitTest1\NUnitTest1\NUnitTest1\bin\Release)
    iii)   The tests will open in the Test explorer at left.
    iv)   Simply click the Run button to run all tests an examine the results
If you are among the unlucky ones who run into a CLR version related error while opening project in NUnit, follow the steps here to fix it.

Getting Started with Automation

With a bit of lax time in between two releases, I am trying to automate our regression test-cases we run after each build. To keep the cost in check I am trying to get this working using Selenium, C# and NUnit. However as I try to Google the basic tutorials for doing so I always find something that assumes the reader understands how Visual Studio, .NET versions and C# work. (I have no clue about the environment setup, though if all is set I am quite positive I can churn out a windows as well as a web application in C#)

So for my own sake and for those poor souls who find themselves in similar situation as mine I am planning to develop a step by step series for automation using Selenium, Visual Studio C# 2010 Express, and NUnit. I will be putting up a series of posts as I learn to do the things myself. Each post will contain a simple goal that I will solve/reach most probably with someone’s help (which will be listed in the credits)

Goal: Setup all the required software for test automation
Steps:
  1. Selenium 2  (Selenium IDE 1.0.10)
    i)        You can follow the detailed download and install steps for Selenium IDE on the official Selenium site here(Just ignore the first download page image)
    ii)       For Selenium 2.0 we need to download the Selenium Client Driver for the language of our choice i.e. C# (The download site has two drivers for C# - C# Selenium RC 1.0.3 and C# Selenium WebDriver 2.0rc3, as I am not sure what is the difference between them I have downloaded both – Might revisit this post in future when I understand the difference)
    iii)     Once installation is complete you should be able to start the IDE from the Firefox > Tools menu (NOTE: IDE 1.0.10 is compatible with Firefox 3.6 only, so if you have already upgraded your Firefox to version 4 or 5 you will need to uninstall them and install version 3 again)
  2. Visual C# 2010 Express
    i)        Download the Visual C# 2010 Express from Microsoft’s site here and run through the simple installation setup
  3. Nunit 2.5.10
    i)        Download .msi file for NUnit from the official website here and run the setup process

Hopefully you won’t face any glitches during the installations and have all the three components up and running in no time.