views:

634

answers:

3

Hello,

Using Windows 7 32 bit, VS 2010, .NET 4 DLL, NUnit (2.5.5) to unit test the application. I'm currently getting the following error; seen plenty of posts and tried the following:

  1. restart machine
  2. restart VS
  3. delete bin/obj and reload
  4. clean/rebuild

But I cannot get NUnit to hit my breakpoints when running;

I set the NUNit test project to point to the nunit.exe, and to load the testing .NET 4 DLL, but when I run it doesn't find the breakpoint, "no symbols have been loaded". I tried debug >windows > modules, it doesn't even show my unit testing project when I run it.

I found this, to use the nunit agent: http://groups.google.com/group/nunit-discuss/browse_thread/thread/5680d7def5b6982f

But I get an error when I use the nunit agent too. I was using nunit-agent-x86.exe, but I get a system.formatexception and it crashes...

Can anybody help?

Thanks.

A: 

Are you running NUnit and then loading the DLL? Try instead opening the project properties, Debug tab, switch the start action to 'Start external program', point to the NUnit exe, put your dll name in 'command line arguments'. Then start the library project right-clicking it and choosing Debug -> start new instance.

Mau
I was doing both; standalone, or running the project with nunit. Still no luck, get same issue...
Brian
+1  A: 

Hello,

The resolution was: start NUnit stand alone, then in VS 2010, do debug > attach to process, and attach to the nunit-agent.exe process, not the nunit process. Nunit process still didn't do it for me.

HTH.

Brian
+3  A: 

There's another similar question here on Stack Overflow, where I posted my answer with what worked for me. I can set breakpoints and start NUnit directly from Visual Studio 2010 with Debug -> Start New Instance (which I think is your goal).

I set nunit as the external program in project -> Properties -> Debugging and added:

<startup>
<requiredRuntime version="4.0.30319" />
</startup>

to the nunit.exe.config file found next to the nunit executable in the NUnit install directory.

Dave Bacher
Adding <startup> section to the .config file worked for me. Btw, it goes directly under <configuration>
Jan Hettich