OpenCover in Jenkins

Posted on Mon 24 October 2011 in Tools

I just updated my Jenkins job for TestNess to use OpenCover to measure code coverage.

Previously, I used PartCover. The setup of PartCover was quite painful. The first error came when I tried to build the source code from a directory path that contained a space. Then, I ran into some 32/64 bit issues when I tested PartCover on my laptop. Finally, I found that the --register flag didn’t work since my Jenkins slave service runs under the SYSTEM account.

OpenCover, on the other hand, was clearly less painful to setup. The only problem was the following error message:

No results - no assemblies that matched the supplied filter were instrumented (missing PDBs?)

(Yeah, the lack of results was actually quite a big problem… :-))

Using Dependency Walker, I found out that DLL registration (of OpenCover.Profiler.dll) failed because some DLLs were missing from the system. It turns out I needed to download and install Microsoft Visual C++ 2010 Redistributable Package (x86).

Once OpenCover has done its job, I use ReportGenerator to create an HTML report which is subsequently published by the HTML Publisher plugin.