lcov_ex

Test coverage module to generate a lcov.info file for an Elixir project.

The docs can be found at https://hexdocs.pm/lcov_ex.

Why

Many test coverage tools use lcov files as an input to generate reports.

You can use it as I do to watch inline coverage progress with the following editors:

Please let me know if you made it work in your previously unlisted favorite editor. Or, if you're really nice, just add it to this list yourself :slightly_smiling_face:

Installation

Add to your dependencies:

def deps do
  [
    {:lcov_ex, "~> 0.1", only: :test, runtime: false}
  ]
end

Then, select LcovEx as your test coverage tool in your project configuration:

def project do
  [
    ...
    test_coverage: [tool: LcovEx, output: "cover"],
    ...
  ]

The output option indicates the output folder for the generated file.

Optionally, the ignore_paths option can be a list of prefixes to ignore when generating the coverage report.

test_coverage: [tool: LcovEx, output: "cover", ignore_paths: ["test/"]],

Usage

Run tests with coverage:

mix test --cover

File should be created at ./cover/lcov.info by default.

TODOs