The latest releases can be downloaded from releases or from the OpenCover mirror site on bitbucket.
The primary repo for the project is over here. Alternatively why not try the nuget package (this is the most popular).
All Original Software is licensed under the MIT Licence and does not apply to any other 3rd party tools, utilities or code which may be used to develop this application.
If anyone is aware of any licence violations that this code may be making please inform the developers so that the issue can be investigated and rectified.
Please review the wiki pages on how to use OpenCover and take particular interest in the Usage guide.
Note that .zip and .nuget packages (at least) will not ACL files so that a low-privilege service can execute them -- manually add the service principal with read/execute privilege to the OpenCover.Profiler.dll ACLs, either through explorer properties or by a Get-Acl
/Set-Acl
PowerShell script.
Launching the profiling operation must be done with Administrator privilege -- this is required to even start the service, and is also needed to create the global objects and set the per-service environment that registers the COM object. Assuming that the COM objects have been pre-registered, the command line to use is like
OpenCover.console.exe -service:byname -target:<service name> -output:coverage.xml
As this is a blocking operation, launching the coverage gathering a separate process as
start-process OpenCover.console.exe @("-target:<service name>", "-service:byName", "-output:<service name>coverage.xml")
or equivalent in your test scripts.
The byname
qualifier is used to prevent races if multiple services are being started concurrently by injecting the OpenCover profiling information to the service specific environment.
Please raise issues on GitHub, if you can repeat the issue then please provide a sample to make it easier for us to also repeat it and then implement a fix. Please do not hijack unrelated issues, I would rather you create a new issue than add noise to an unrelated issue.
Dropbox is very useful for sharing files Dropbox
You will need:
- Visual Studio VS2012 or later with C# and C++
- WiX 3.7 or later (http://wix.codeplex.com/releases/view/99514)
- Specflow (http://visualstudiogallery.msdn.microsoft.com/9915524d-7fb0-43c3-bb3c-a8a14fbd40ee)
All other software should be included with this repository.
NANT scripts (encapsulated by the build.bat file) are used to build the project outside visual studio and will run all unit tests.
To build the code in 32-bit Debug mode just run Build in the root of the project folder.
To build a release package including installer, zip and nuget packages use
build create-release
The OpenCover team is trying out using Atlassian Bamboo for automated building. It runs a staged equivalent of
build create-release
and stores all the information about tests, coverage and other build artefacts; you can use these builds if you want to be 'cutting' edge but support will be limited.
The current OpenCover coverage (found by dogfooding OpenCover on its own tests) can be viewed here
http://opencover-metrics.herokuapp.com/charts/sample_chart.htm
The nodejs application used to store and display the results can also be found on Github - https://github.com/sawilde/metrics-store
For viewing the output from OpenCover start here.
No Git? Don't worry you can download the latest code as a zip file.
Was using AgileZen (which I quite liked) but the maintenance of an online board (for 1 person, me) vs the card wall (in office) got monotonous for no real gain.
I would like to thank
- the guys at CodeBetter, Devlicious and Los Techies who arranged my MSDN licence,
- the NextGenUG and their free swag from where I got lots of useful tools,
- JetBrains for my Open Source ReSharper licence,
- Atlassian for my Open Source Bamboo licence,
- NDepend for my NDepend licence.
I'd also like to thank my employers, colleagues and friends for all their support.