Actionable test coverage for Ruby and GitHub
Checks and insights to help your team ship healthy code while saving time on PR reviews.
These leading Ruby engineering teams review test coverage with undercover
How it works
Stop focusing on getting to 100% test coverage.
Reduce pull request defects by telling when changed code is untested before it's deployed to production.
1️⃣ Open a pull request
The CI server runs tests and uploads coverage data to UndercoverCI. That's the only required post-install setup step!
2️⃣ Find missing test coverage
We scan the PR diff and verify local test coverage for each updated class, method and block, because an absolute percentage check is not enough.
3️⃣ Fix or ack review comments
Reveal untested methods and blocks, find unused code paths and improve your test suite.
Choose your setup
Install UndercoverCI's hosted GitHub App or explore the Ruby gems family
$49 per monthVAT not included, try it free for 14 days
Fully-featured GitHub App code review integration with quick setup for your organization. Included features:
👉 Coverage warnings as GitHub annotations (via GitHub Checks)
👉 Diff coverage summary view for each commit
👉 Branch coverage support
👉 Unlimited builds for private and public repos
👉 Unlimited users
The UndercoverCI project and related Ruby gems are entirely open-source and free to use locally and in your CI/CD workflows.
If a hosted and convenient GitHub App integration is not for you, check out these links to get started:
Read more about Ruby code coverage and unit testing strategy
The purpose of branch coverage is to check whether every conditional branch in a given line of code has been tested and Ruby has this feature since
simplecovcan report branch coverage too and now so does undercover with the new
Today, I’m launching UndercoverCI— a CI robot who protects your Ruby codebase from untested code changes. Take a moment to learn why you should add it to your team’s code review workflow. Adding UndercoverCI to your code review workflow will prevent untested code changes from slipping into production without anyone noticing.
For existing projects, because of the sheer workload of having to write the tests to cover code that you have not written to fill the gaps, it is much harder to get to the confidence level that having 100% coverage brings, but at least by using code coverage reports you can make informed decisions on how risky a change is going to be.
Detect untested methods in your PRs
Free for individuals and open-source repositories. Organization plans start at $49 per month with a free 14-day trial.Sign Up with GitHub