I'm looking for a .NET coverage tool, and had been trying out PartCover, with mixed success. I see that OpenCover is intended to replace PartCover, but I've so far been unable to link it with TypeMock Isolator so my mocked-out tests pass while gathering coverage info.
I tried replicating my setup for Partcover, but there's no defined profilename that works with the "link" argument for Isolator. Thinking that OpenCover was based on Partcover, I tried to tell Isolator to link with Partcover, and it didn't complain (I still had Partcover installed), but the linking didn't work - Isolator thought it wasn't present.
Am I missing a step? Is there a workaround? Or must I wait for an Isolator version that is friends with OpenCover?
Note: I work at Typemock
I poked around with the configuration a little bit and managed to get OpenCover to run nicely with Isolator. Here's what you can do to make them work together, until we add official support:
runsvr32 OpenCover.Profiler.dll
(you will need an Administrator's access for this).typemockconfig.xml
, it should be under your installation directory, typically C:\Program Files (x86)\Typemock\Isolator\6.0
.</ProfilerList>
:<Profiler Name="OpenCover" Clsid="{1542C21D-80C3-45E6-A56C-A9C1E4BEB7B8}" DirectLaunch="false"> <EnvironmentList /> </Profiler>
Save the file, you will now have a new entry in the Typemock Configuration utility, called OpenCover. Press the Link button to link them. You will now be able to run your tests using OpenCover.Console.exe
and Isolator. For example, here's how to run your tests with MSTest:
OpenCover.Console.exe -target:"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe" -targetargs:"/testcontainer:"d:\code\myproject\mytests.dll" -output:opencovertests.xml
There is still a minor issue running this with TMockRunner -link
(that is, with late linking). I will need to look at it further at work.
Hope that helps.