Skip to content

mattdenner/rspec_super

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RSpec Super

Git: http://github.com/mattdenner/rspec_super Author: Matthew Denner Copyright: 2010 License: MIT Licence

Overview

This gem provides RSpec with a way for testing methods that call super. Consider this:

class Base
  def do_something
  end
end

class Derived < Base
  def do_something
    super
    do_something_else
  end

  def do_something_else
  end
end

How do you go about testing Derived#do_something without having to duplicate your Base#do_something tests?

With this gem you can use {Spec::Mocks::Methods#should_receive_super_of should_receive_super_of} and the standard RSpec expectations, just like this:

describe Derived do
  before(:each) do
    @object = described_class.new
  end

  describe '#do_something' do
    it 'calls super' do
      @object.should_receive_super_of(:do_something).once
      @object.should_receive(:do_something_else).once
      @object.do_something
    end
  end
end

Word of warning!

This is very very alpha code and has only been tested with RSpec 1.3.0 and on Ruby 1.9.1. You should be alright to use it on Ruby 1.8.7 but don't quote me on the RSpec support for earlier versions!

Copyright

RSpec Super © 2010 by Matthew Denner. RSpec Super is licensed under the MIT license.

About

Set RSpec mock expectations that a method should call super

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages