Click here to Skip to main content
Click here to Skip to main content

Easy Debugging of NUnit Tests from Visual Studio 2008 Professional

, 23 Jun 2009
Rate this:
Please Sign up or sign in to vote.
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.

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.

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

Share

About the Author

Tommi Laukkanen
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

 
Questioncan't step through code Pinmembergary-s14-Apr-12 9:55 
QuestionRe: can't step through code PinmemberAndreas Gieriet26-Dec-12 12:20 
QuestionVery nice tool! just one question Pinmemberpaul.vencill5-May-11 5:34 
Generalvisual NUnit can't find unit tests Pinmemberx-coder200710-Jan-11 1:09 
GeneralCan't run tests - please help Pinmemberbszom28-Oct-10 5:40 
Hi Tommi,
 
When I try to run my tests through the Visual Nunit window they instantly fail. Here are the exception details:
 
Failure: System.Reflection.TargetInvocationException : Exception has been thrown by the target of an invocation.
----> System.NullReferenceException : Object reference not set to an instance of an object.
 
Stack Trace:
System.RuntimeMethodHandle._InvokeConstructor(IRuntimeMethodInfo method, Object[] args, SignatureStruct& signature, RuntimeType declaringType)
System.RuntimeMethodHandle.InvokeConstructor(IRuntimeMethodInfo method, Object[] args, SignatureStruct signature, RuntimeType declaringType)
System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
NUnit.Core.Reflect.Construct(Type type)
NUnit.Core.TestMethod.Run(TestResult testResult)

 
This is with Visual Studio 2010 Pro, NUnit 2.5.8, Visual Nunit 1.1.7 (as reported by VS Extension Manager, which is how I installed it - your SourceForge page lists the latest version as 1.1.3 while the download button on the summary page links to 1.0.3 ???)
 
The references for my test project (that's also the project type) are all set to copy local, except for all of the refs to the System namespace and Microsoft.VisualStudio.QualityTools.UnitTestFramework. I've tried setting copy local to true on Microsoft.VisualStudio.QualityTools.UnitTestFramework, without success. nunit.framework.dll is definitely being copied.
 
How can I figure out what's going wrong?
GeneralRe: Can't run tests - please help Pinmembernaughton8-Aug-12 14:28 
GeneralVisual Nunit 2010 1.1.7 Released PinmemberTommi Laukkanen9-Oct-10 21:55 
GeneralRe: Visual Nunit 2010 1.1.7 Released PinmemberScythal31-Dec-10 5:41 
GeneralStopping at breakpoints PinmemberMember 292366017-Aug-10 15:14 
GeneralRe: Stopping at breakpoints PinmemberTommi Laukkanen9-Oct-10 21:53 
GeneralDebugging of NUnit tests:VS 2010, Visual NUnit and project's config file Pinmemberlevenyu16-Aug-10 12:02 
GeneralRe: Debugging of NUnit tests:VS 2010, Visual NUnit and project's config file PinmemberSRM196929-Sep-10 17:45 
GeneralRe: Debugging of NUnit tests:VS 2010, Visual NUnit and project's config file PinmemberTommi Laukkanen29-Sep-10 18:18 
QuestionCould you make a VS 2010 version please? PinmvpOmar Al Zabir5-May-10 5:12 
AnswerRe: Could you make a VS 2010 version please? PinmemberTommi Laukkanen5-May-10 5:47 
GeneralVisual Nunit 2010 1.1 and Visual Nunit 2008 1.0.2 released PinmemberTommi Laukkanen19-Dec-09 4:20 
QuestionTests not showing up? PinmemberBernard O'Flynn26-Nov-09 23:36 
AnswerRe: Tests not showing up? PinmemberDan Neely7-Jan-10 5:18 
AnswerRe: Tests not showing up? Pinmemberjfh1089-Jan-10 7:13 
AnswerRe: Tests not showing up? Pinmemberom29721-Jan-10 23:59 
GeneralBeta Release of Visual Nunit support for Visual Studio 2010 PinmemberTommi Laukkanen6-Nov-09 17:21 
GeneralVisual Nunit 1.0.1 Released PinmemberTommi Laukkanen1-Nov-09 6:53 
GeneralVisual Nunit Runner stopped working Pinmembertomasz pr.30-Jul-09 1:26 
GeneralRe: Visual Nunit Runner stopped working PinmemberTommi Laukkanen30-Jul-09 20:11 
GeneralRe: Visual Nunit Runner stopped working Pinmembertomasz pr.30-Jul-09 21:56 

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

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

| Advertise | Privacy | Mobile
Web04 | 2.8.140827.1 | Last Updated 24 Jun 2009
Article Copyright 2009 by Tommi Laukkanen
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid