0.12
There's a lot of open issues
No release in over a year
A small gem consisting of helpers for using Sorbet & RSpec together.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
>= 13.0
>= 3.0
>= 0

Runtime

 Project Readme

rspec-sorbet

RSpec Sorbet Gem Version CI Badge

A small gem consisting of helpers for using Sorbet & RSpec together.

Install

gem 'rspec-sorbet'

Usage

In your spec_helper.rb you need to first add a require:

require 'rspec/sorbet'

Allowing Instance/Class/Object Doubles

Out of the box if you're using instance_double, class_double or object_double in your specs you'll encounter errors such as the following:

 TypeError:
       Parameter 'my_parameter': Expected type MyObject, got type RSpec::Mocks::InstanceVerifyingDouble with value #<InstanceDouble(MyObject) (anonymous)>
       Caller: /Users/samuelgiles/Documents/Projects/Clients/Bellroy/bellroy/spec/lib/checkout/use_cases/my_use_case.rb:9

Drop the following into your spec_helper.rb to allow doubles to be used without breaking type checking:

RSpec::Sorbet.allow_doubles!

eq matcher usage with T::Struct's

Using the eq matcher to compare T::Struct's might not behave as you'd expect whereby two separate instances of the same struct class with identical attributes are not == out of the box. The standalone sorbet-struct-comparable gem may be of interest if you are looking for a simple attribute based comparison that will help make the eq matcher behave as you expect.

Specifying a custom validation handler

You can customise the handler of Sorbet validation errors if you so desire.

def handler(signature, opts)
  raise MyCustomException, "The options were #{opts}"
end

T::Configuration.call_validation_error_handler = handler