Click here to Skip to main content
15,879,096 members
Articles / Programming Languages / C#

Easy Debugging of NUnit Tests from Visual Studio 2008 Professional

Rate me:
Please Sign up or sign in to vote.
4.09/5 (8 votes)
23 Jun 2009Apache1 min read 158.1K   42   54
How to easily debug NUnit tests in Visual Studio 2008 professional edition

Introduction

This article describes a convenient way of debugging NUnit tests using open source plugin to Visual Studio 2008. Many open source and cross platform projects choose NUnit testing framework for mono and nant support.

Background

Visual Nunit plugin for Visual Studio 2008 was developed to speed up development of MXP protocol reference implementation. Being able to debug unit tests easily from integrated development environment is a big efficiency factor.

Installation

  1. Download the latest release from here.
  2. Run the installer.
  3. Start Visual Studio 2008.
  4. Select from Menu View->Other Windows->NUnit View.
  5. Place the view to location of your choice.

Image 1

Debugging Process

The debugging with Visual Nunit is achieved by simply double clicking the test at NUnit View. To create test cases to your project, do the following steps:

  1. Download NUnit 2.5 from here.
  2. Add nunit.framework.dll to your projects references.
  3. Add test case to the project (See example below).
  4. Make sure your project dependencies have copy local properties set.
  5. Build the project.
  6. To start debugging, click the arrow button of a test row in the NUnit View.
  7. Proceed as normal with Visual Studio Debugging.

Stopping debug will terminate the nunit runner process if your unit test is hanging or if you do not wish to wait until it is completed.

C#
using System;
using System.Collections.Generic;
using System.Text;
using NUnit.Framework;
using System.Diagnostics;
using System.Threading;

namespace NunitTests
{
    [TestFixture]
    public class ExampleTestFixture
    {
        [Test]
        public void TestSuccess()
        {
            Trace.TraceInformation("Test trace.");
        }

        [Test]
        public void TestException()
        {
            throw new Exception("Test Exception");
        }

        [Test]
        public void TestAssert()
        {
            Assert.Fail("Test Assert");
        }

        [Test]
        public void TestHang()
        {
            Thread.Sleep(10000);
        }
    }
}

Points of Interest

Visual Nunit was written with Microsoft Visual Studio 2008 SDK. The project type is Visual Studio Integration Package and the sources are available as open source project from here.

History

  • 21st June 2009 - Initial version

License

This article, along with any associated source code and files, is licensed under The Apache License, Version 2.0


Written By
Architect
Finland Finland
Web and rich client solutions since 2002 with .NET and Java.

Open source contributor to Visual Nunit, OpenSimulator, MXP protocol and IdealistViewer.

Comments and Discussions

 
GeneralMy vote of 1 Pin
JRASPEN29-Jun-09 19:27
professionalJRASPEN29-Jun-09 19:27 
GeneralCrash When loading Pin
JRASPEN24-Jun-09 11:09
professionalJRASPEN24-Jun-09 11:09 
GeneralRe: Crash When loading Pin
Tommi Laukkanen1-Jul-09 19:06
Tommi Laukkanen1-Jul-09 19:06 
GeneralRe: Crash When loading Pin
Tommi Laukkanen1-Jul-09 19:44
Tommi Laukkanen1-Jul-09 19:44 
GeneralVersion 0.9 Released Pin
Tommi Laukkanen23-Jun-09 20:35
Tommi Laukkanen23-Jun-09 20:35 
GeneralVS Standard Edition Pin
Daniel M. Camenzind22-Jun-09 20:01
Daniel M. Camenzind22-Jun-09 20:01 
GeneralRe: VS Standard Edition Pin
Tommi Laukkanen22-Jun-09 20:20
Tommi Laukkanen22-Jun-09 20:20 
GeneralRe: VS Standard Edition Pin
Daniel M. Camenzind22-Jun-09 20:53
Daniel M. Camenzind22-Jun-09 20:53 
I was able to open the NUnit View without a solution loaded. Loading a solution after that was possible and I was also able to run the test within VS.

Unfortunately it takes ages to run the tests in VS. I have 150 test cases and connect to 2 databases. Running all tests in the NUnit GUI takes about 11-15 seconds - and probably 3 or more minutes in VS. - Or do I get something wrong with who it works in VS?
I also notice that Visual NUnit does not cleare the Message column when a test runs successfully after it showed a message in a previous and failed run.
And another thing is, that loading a solution is now extreamly slow as well as compiling and starting debugging (F5) the solution.

About contributing the project: I'd had to do this in my private time (not in the office and the company I'm working for) and for the moment I just can't find the time for it. But I might come back later this year.

Regards
Daniel
GeneralRe: VS Standard Edition Pin
Tommi Laukkanen22-Jun-09 22:33
Tommi Laukkanen22-Jun-09 22:33 
GeneralNUnit vs .. mbUnit, vs xUnit Pin
torial22-Jun-09 15:17
torial22-Jun-09 15:17 
GeneralRe: NUnit vs .. mbUnit, vs xUnit Pin
Tommi Laukkanen22-Jun-09 20:16
Tommi Laukkanen22-Jun-09 20:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.