The online home of John Pollard

Running Visual Studio Unit Tests in NUnit GUI

Originally posted on my old MSDN blog

As I've posted before, I really don't like the Visual Studio interface for running unit tests. This is mainly because it's not as clean (no hierarchy tree or big green line!), makes a copy of the files every time a test is run and is pretty slow (probably because of the file copies).

However I was very happy to find out the latest version of NUnit (http://www.nunit.org) supports Visual Studio Unit tests, so you can just point the Nunit GUI at VS Unit Test DLLs and run the tests there.

Both interfaces have their pros and cons, and I tend to go back and forth between VS (especially when debugging through the tests) and NUnit (when I want to run tests quickly) but it's definitely a big productivity gain being able to choose the most productive UI.

Cool tip when using Windows Live Local

Originally posted on my old MSDN blog

I'm now working on the Windows Live Expo team, which means:

  • I might have some more interesting things to post on here :-)
  • The focus of this blog may change a little

We shipped our first public beta yesterday (US only for posting at the moment, but open to all to view), so we can start talking about some of the cool technologies we're currently using.

We've also got a video on Channel 9 which gives a flavour of our technologies (filmed before I joined the team unfortunately)

Anyway on to the tip - I was shown this when talking to the dev team from the excellent Windows Live Local - which is particularly useful (and cool!) when in an area where the birds-eye view is available.

If you hold down the mouse scroll wheel and then drag a square on the map, you will zoom in to the area that you dragged over.

Just a small thing, but once you've tried it it really enhances the usability of the maps. Give it a try!

Rebooting a web server remotely using iisreset

Originally posted on my old MSDN blog

This one surprised me a lot when we found it. You can reboot a computer that is running IIS remotely by running the command:

   iisreset [computerName] /reboot

It's been very useful today when we've been patching a whole rack of servers with security patches, but could be very dangerous in the wrong hands :-)

There are a few more interesting options available. Do iisreset /? for more details.

Delete and return keys not working in Visual Studio 2005

Originally posted on my old MSDN blog

I had some strange issues on my laptop with Visual Studio 2005 - the delete and return keys didn't work, which made it somewhat tricky to write code. I even resorted to copy and pasting a new line when writing code, which as you can imagine wasn't very productive.

After much investigation, I solved the problem. I believe it started because I had previously installed an early beta of Visual C# Express, and there were still registry entries and Application Data left over even though I'd uninstalled. What this meant was I couldn't save any VS2005 settings, and this in turn was causing the editor problems.

My solution was:

  • Delete any registry enries to do with Visual C# Express
  • Delete any directories in My Documents related to either "Visual Studio" or "Visual Studio 2005" (obviously be careful with this if you've got any code you want to keep in here)
  • Delete the contents of C:\Documents and Settings\<* user *>\Application Data\Microsoft\VisualStudio\8.0
  • In VS2005, go to the Tools -> Import and Export settings… menu and Reset all settings

Other people appear to have had the same problem, but caused by something to do with Auto-hiding of windows capturing the focus when it shouldn't.

Some useful links that might help you if you're experiencing this:

Copying files needed for Visual Studio 2005 Unit Tests

Originally posted on my old MSDN blog

I'm not 100% convinced that the unit test framework in VS2005 is a step forward from using NUnit.

I don't like the interface (in a shallow way I really like the progress bar of NUnit, and the feeling of well-being it gives when it goes green!), and I really hate the way it creates a new directory of files each time tests are run. I can see how that's useful when you're running functional or acceptance tests, but I run unit tests tens or hundreds of times a day, and the disk space that uses up is crazy.

Anyway, one thing I did learn is how to copy test asset files into the Out directory so it can be referenced by the test code. This foxed me for a while, as not unreasonably you would expect the "Copy To Output Directory" property on the file would do the job. However that will copy to the bin\Debug directory on building, but not copy to the Out directory when the tests are run.

The solution is to add the required file to the test run configuration, which is accessed from the Test -> Edit Test run Configurations -> [your config file] menu, and then on the Deployment tab.