Damian Powell
Damian Powell

Reputation: 8775

Is there a free code coverage tool suitable for use with .NET 4 and NUnit?

Is there a free code coverage tool suitable for use with .NET 4 and NUnit that runs from the command line (and is thus suitable for use on a build server)?

Please note that any tools that require editions of Visual Studio higher than Professional are not appropriate in this case.

I am asking this question because I can't get NCover 1.5.8 to work with NUnit 2.5.5 on a .NET 4 C# app. I can run the unit tests, and I can generate a Coverage.Xml file, but it is empty - it contains no sequence points. After a lot of research, I have concluded that this is because NCover 1.5.8 simply doesn't work with .NET 4. However, if you know better, please feel free to answer this question from another user.

Upvotes: 13

Views: 2777

Answers (4)

Shaun Wilde
Shaun Wilde

Reputation: 8358

FYI: PartCover now supports .NET 4.0

Upvotes: 2

Damian Powell
Damian Powell

Reputation: 8775

I think the short answer to this question is "No".

I found out that it is possible to get NCover 1.5.8 working with a bit of hacking* but it seems that there's nothing out there that's free that supports .NET 4. If you find otherwise, comment on this post or the question, and I'll happily accept a more appropriate answer.

(*) "The trick is to set the environment variable: COMPLUS_ProfAPI_ProfilerCompatibilitySetting=EnableV2Profiler"

-Jamie Cansdale

Upvotes: 0

nportelli
nportelli

Reputation: 3916

There is PartCover And two forks of partcover,

Sharpcover here

And Partcover-fork here

All seem defunct. Not sure about .net 4 compatibility but partcover ran ok on 3.5 code. I'd love to see someone pick these up.

edit Add one more to the mix. With .net 4 coverage as the intent http://wiki.github.com/sawilde/partcover.net4/

Upvotes: 5

Grant Palin
Grant Palin

Reputation: 4558

NCover has held the code coverage niche for the .NET market for some time, probably since it first went commercial. I suspect the issue is that the old free version was compiled for .NET 2, and .NET 4 is sufficiently different the old NCover now won't work correctly.

For what it's worth, NCover 3 seems the most viable option. Admittedly not free, but the cost isn't too bad for the Classic version. I've been trialling it recently, and it's worked fine against a .NET 4 application. And it's much cheaper than a higher-end version of Visual Studio.

Upvotes: 2

Related Questions