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.2", only: [:dev, :test], runtime: false}
    ]
  end

Usage

mix lcov

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

As test coverage tool

Alternatively, you can set up LcovEx as your test coverage tool in your project configuration:

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

And then, run with:

mix test --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.

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

TODOs