Codecov vs Coveralls: What are the differences?
Codecov: Hosted coverage reports with awesome features to enhance your CI workflow. Our patrons rave about our elegant coverage reports, integrated pull request comments, interactive commit graphs, our Chrome plugin and security; Coveralls: Track your project's code coverage over time, changes to files, and badge your GitHub repo. Coveralls works with your CI server and sifts through your coverage data to find issues you didn't even know you had before they become a problem. Free for open source, pro accounts for private repos, instant sign up with GitHub OAuth.
Codecov and Coveralls belong to "Code Coverage" category of the tech stack.
Some of the features offered by Codecov are:
- Beautiful Reports
- Pull Request Comments
- Interactive Commit Graphs
On the other hand, Coveralls provides the following key features:
- Repository Coverage Statistics
- Individual File Coverage Reports
- Line By Line Coverage
"More stable than coveralls" is the top reason why over 14 developers like Codecov, while over 44 developers mention "Free for public repositories" as the leading cause for choosing Coveralls.
According to the StackShare community, Coveralls has a broader approval, being mentioned in 58 company stacks & 45 developers stacks; compared to Codecov, which is listed in 49 company stacks and 29 developer stacks.
What is Codecov?
What is Coveralls?
Want advice about which of these to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Coveralls?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
We use Codecov because it's a lot better than Coveralls. Both of them provide the useful feature of having nice web-accessible reports of which files have what level of test coverage (though every coverage tool produces reasonably nice HTML in a directory on the local filesystem), and can report on PRs cases where significant new code was added without test coverage.
That said, I'm pretty unhappy with both of them for our use case. The fundamental problem with both of them is that they don't handle the ~1% probability situations with missing data due to networking flakiness well. The reason I think our use case is relevant is that we submit coverage data from multiple jobs (one that runs our frontend test suite and another that runs our backend test suite), and the coverage provider is responsible for combining that data together.
I think the problem is if a test suite runs successfully but due to some operational/networking error between Travis/CircleCI and Codecov the coverage data for part of the codebase doesn't get submitted, Codecov will report a huge coverage drop in a way that is very confusing for our contributors (because they experience it as "why did the coverage drop 12%, all I did was added a test").
We migrated from Coveralls to Codecov because empirically this sort of breakage happened 10x less on Codecov, but it still happens way more often than I'd like.
I wish they put more effort in their retry mechanism and/or providing clearer debugging information (E.g. a big "Missing data" banner) so that one didn't need to be specifically told to ignore Codecov/Coveralls when it reports a giant coverage drop.
Code Coverage is an important metric for us as we aim to deliver regular improvements to our platform.