Class/Module Index [+]

Quicksearch

Spec::Example::Subject::ExampleMethods

Public Instance Methods

__should_for_example_group__(matcher=nil, message=nil) click to toggle source
Alias for: should
__should_not_for_example_group__(matcher=nil, message=nil) click to toggle source
Alias for: should_not
should(matcher=nil, message=nil) click to toggle source

When should is called with no explicit receiver, the call is delegated to the object returned by subject. Combined with an implicit subject (see subject), this supports very concise expressions.

Examples

describe Person do
  it { should be_eligible_to_vote }
end
# File lib/spec/example/subject.rb, line 90
def should(matcher=nil, message=nil)
  self == subject ? self.__should_for_example_group__(matcher) : subject.should(matcher,message)
end
Also aliased as: __should_for_example_group__
should_not(matcher=nil, message=nil) click to toggle source

Just like should, should_not delegates to the subject (implicit or explicit) of the example group.

Examples

describe Person do
  it { should_not be_eligible_to_vote }
end
# File lib/spec/example/subject.rb, line 102
def should_not(matcher=nil, message=nil)
  self == subject ? self.__should_not_for_example_group__(matcher) : subject.should_not(matcher,message)
end
subject() click to toggle source

Returns the subject defined in ExampleGroupMethods#subject. The subject block is only executed once per example, the result of which is cached and returned by any subsequent calls to subject.

If a class is passed to describe and no subject is explicitly declared in the example group, then subject will return a new instance of that class.

Examples

# explicit subject defined by the subject method
describe Person do
  subject { Person.new(:birthdate => 19.years.ago) }
  it "should be eligible to vote" do
    subject.should be_eligible_to_vote
  end
end

# implicit subject => { Person.new }
describe Person do
  it "should be eligible to vote" do
    subject.should be_eligible_to_vote
  end
end
# File lib/spec/example/subject.rb, line 76
def subject
  @subject ||= instance_eval(&self.class.subject)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.