Add `RSpec::Core::MemoizedHelpers.will_be_expected`
Created by: d-unseductable
Create an alias RSpec::Core::MemoizedHelpers.will_be_expected
to expect { subject }
Designed to prettify one-liners when you have block expectations for subject, e.g.
class SimplePrinter
def initialize
print "Printer is ready"
end
end
This goes to
it { will_be_expected.to output("Printer is ready").to_stdout }
instead of
specify { expect { subject }.to output("Printer is ready").to_stdout }
For more complicated cases:
describe UserFactory do
subject { UserFactory.create_user }
it { will_be_expected.to change(User.count).by(1) }
it { will_be_expected.to output.to_stdout }
context 'with database issues' do
it { will_be_expected.to output.to_stderr }
it { will_be_expected.to raise_error }
end
end
So this change allows to DRY up, prettify and make specs even more readable.
Do you have any suggestions?