An Elixir library that reports test coverage statistics and posts results to coveralls.io.
ExCoveralls is a test coverage reporting tool for Elixir applications that leverages Erlang's cover tool to generate coverage data. It provides detailed coverage reports locally and can automatically post results to the coveralls.io service via its JSON API, offering visibility into code coverage across various CI environments. The tool supports multiple report formats, umbrella projects, and flexible filtering options.
Elixir developers and teams who need to monitor and report test coverage in their projects, especially those using CI/CD platforms like Travis CI, GitHub Actions, CircleCI, or GitLab CI. It is also suitable for projects with complex structures, such as umbrella applications.
Developers choose ExCoveralls for its seamless integration with coveralls.io and broad CI platform support, eliminating manual reporting. Its unique selling points include comprehensive local reporting with multiple output formats (HTML, JSON, XML, Cobertura, LCOV), built-in support for umbrella projects, and features like coverage merging and customizable filtering.
Coverage report tool for Elixir with coveralls.io integration.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers dedicated mix tasks for Travis CI, GitHub Actions, CircleCI, and others, with example projects for each, simplifying automated reporting to coveralls.io.
Generates terminal, HTML, JSON, XML, Cobertura, and LCOV reports, enabling compatibility with tools like SonarQube, GitLab, and VSCode extensions.
Handles coverage for Elixir umbrella projects with per-app configuration, ensuring accurate reporting across multiple sub-applications without manual aggregation.
Allows line and file exclusions via comments and JSON config, and supports importing .coverdata files to merge coverage from separate test runs like integration tests.
Inherits issues from Erlang's cover tool, such as warnings with mock libraries and errors on specific versions like Erlang 17.3, requiring manual fixes like modifying cover.erl.
Requires careful setup in mix.exs, coveralls.json, and environment variables, with pitfalls for umbrella projects where each app needs individual configuration.
Optimized primarily for coveralls.io; while other formats are supported, integration with alternative services like Codecov may need additional steps or bash uploaders.