A simple test coverage tool for Clojure projects that instruments code and generates detailed coverage reports.
Cloverage is a test coverage tool for Clojure that instruments source code to track which lines and forms are executed during tests. It generates detailed coverage reports in multiple formats, helping developers identify untested code and maintain quality standards. The tool integrates seamlessly with build tools like Leiningen and supports various test frameworks.
Clojure developers and teams who want to measure and improve test coverage in their projects, especially those using Leiningen or Clojure CLI for build management.
Developers choose Cloverage for its simplicity, deep integration with Clojure build tools, and flexible reporting options. It provides actionable coverage data without complex configuration, making it a go-to tool for maintaining test quality in Clojure ecosystems.
Clojure test coverage tool
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates HTML, text, EMMA XML, lcov, Codecov, and Coveralls JSON reports, providing flexibility for CI/CD integration and various coverage services.
Integrates directly with Leiningen and Clojure CLI, allowing easy command-line usage and automated build failures based on configurable coverage thresholds.
Works with clojure.test, Midje, and eftest via configurable runners, adapting to different testing frameworks common in Clojure projects.
Allows regex-based namespace inclusion/exclusion and call site exclusion, giving precise control over what code is analyzed for coverage tracking.
Lacks a dedicated Maven plugin, requiring a cumbersome workaround using exec:java that complicates setup for Maven-based projects.
Known issues with protocols (requiring Clojure 1.6+) and self-referencing namespaces can cause errors or inaccurate 0% coverage reports, as documented in troubleshooting.
With numerous command-line options and project settings, advanced features like custom reports or selective instrumentation can be overwhelming for simple use cases.