Skip to content
Uploads Ruby code coverage data to
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Scrutinizer Ocular

Uploads Ruby code coverage data to Internally, it relies on SimpleCov.


Add this line to your application's Gemfile:

gem 'scrutinizer-ocular'

And then execute:

$ bundle

Or install it yourself as:

$ gem install scrutinizer-ocular


You need to initialize ocular at the very top of your test_helper.rb or spec_helper.rb file before loading any of your code:

# test_helper.rb or spec_helper.rb
require 'scrutinizer/ocular'!

When running your tests on a private repository, make sure you have your access token set:

SCRUTINIZER_ACCESS_TOKEN=abc123 bundle exec rspec spec

When you create an access token, make sure to select READ permission only. Generally, it's a good idea to set-up a dedicated user for reporting code coverage only.

Advanced Use-Cases

Defining the SimpleCov Profile

If you would like to have SimpleCov use a specific profile, you can pass it to the watch method:! 'rails'

Adding additional Formatters

If you would like to run other formatters apart from Scrutinizer's Formatter, you can add these easily:

require 'simplecov'
require 'scrutinizer/ocular'

# To avoid uploading coverage when running tests locally, you can use
# Scrutinizer::Ocular.should_run? and add the formatter conditionally.

SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[

Merging Coverage from Parallelized Runs

Scrutinizer supports merging coverage from parallelized runs natively. All you need to do is adjust your .scrutinizer.yml to tell us how many submissions you are going to make; no further changes are necessary.


Parts of this code were inspired by the Ruby Coveralls implementation and were received under the MIT license.

You can’t perform that action at this time.