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}
  ]
endNow 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}
  ]
endIf 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"]