A plugin for mix test --cover
that writes a coverage.xml
file compatible with Jenkins'
Cobertura plugin.
Inspired by covertool for Erlang.
Put this in your mix.exs
:
def project do
[
test_coverage: [tool: CoberturaCover]
]
end
defp deps do
[
{:cobertura_cover, "~> 0.9.0", only: :test}
]
end
Now you can run mix test --cover
to generate a coverage.xml
in your CI workflow.
If you only want to generate a coverage.xml
in your CI workflow and generate HTML output on your
workstation use this:
def project do
[
test_coverage: test_coverage(System.get_env("CI"))
]
end
defp test_coverage(nil), do: []
defp test_coverage(_), do: [tool: CoberturaCover]
defp deps do
[
{:cobertura_cover, "~> 0.9.0", only: :test}
]
end
If you want to get HTML output too you can configure it like this:
defp test_coverage(nil), do: []
defp test_coverage(_), do: [tool: CoberturaCover, html_output: "cover"]