views:

1216

answers:

5

We have recently upgraded from Visual Studio 2008 to Visual Studio 2010. As part of our code base, we have a very large set of NUnit tests. We would like to be able to run these unit tests within Visual Studio, but with code coverage enabled. We have ReSharper, so can run the tests within Visual Studio, but it does not allow the code coverage tool to do its thing and generate the coverage statistics.

Is there any way to make this work, or will we have to convert the tests over to MSTest?


EDIT: We've already tried the suggested tools:

  • TestDriven.Net
    This runs the NUnit tests fine within Visual Studio, and even works with the code coverage, but it also includes the tests as part of the covered assemblies. There doesn't seem to be a way to exclude the tests, but include the assembly being tested (our tests are in a different assembly from the code they test). We also don't really want to spend the additional £2000 it would cost us to get TestDriven.net for the whole team.

  • Gallio
    This didn't work. In order to get coverage output, the tests need to be run in the Visual Studio test runner. Gallio does not provide this support for NUnit.

Any further ideas? We did find a couple of open source attempts to get this type of thing working, but they are stale and haven't been touched for a long time (and therefore don't support VS2010).

+3  A: 

The gallio automation framework is an open source project which should allow you to accomplish this. The site is at http://www.gallio.org/ There is initial VS2010 support in the last release with more work on it in the nightly builds.

There is more information on this here: http://weblogs.asp.net/astopford/archive/2010/04/13/gallio-and-vs2010.aspx

However, if you have money to spend on this take a look at http://TestDriven.Net

Wolfwyrd
+1 for TDD.Net. if you use nCover's Community Edition for coverage, and have upgraded your projects to .net4 you may need to buy a full version as when i tried the Community Edition did not support .net4 assemblies. Worth while investment though.
Pondidum
TDD.net also has a Personal Edition which is totally free for non commercial use.
Anindya Chatterjee
+1  A: 

Adrian,

Have a look at TestMatrix - it will run your unit tests, does code coverage and unit test performance profiling - and all of these are natively integrated into Visual Studio.

sergeb
That looks good, but it still is quite pricey compared to the "free" tools that are already available to us in VS2010 premium that we have already paid (a lot!) for.
adrianbanks
Valid point, Adrian! If the VS2010 tools you paid for were to do what you want... Again, compared to what you paid for VS2010 edition w/ code coverage, TestMatrix is free, wouldn't you agree?
sergeb
A: 

Jetbrains appears to be tackling this issue with a new product called "dotCover". It's still in it's infancy, but given their track record it should be a major player soon.

Till it releases you can "test" the nightly builds located here.

David Lynch
A: 

I found the Code Coverage Runner project on CodePlex, which bridges the VS test and NUnit APIs via an adapter. As of writing this, the project hasn't been updated since March 2008, but it may suite your needs.

Steve Guidi