Module | Spec::Example::ExampleGroupMethods |
In: |
lib/spec/example/example_group_methods.rb
|
description_options | -> | options |
description_options | [R] | |
matcher_class | [RW] | |
spec_path | [R] |
Makes the describe/it syntax available from a class. For example:
class StackSpec < Spec::ExampleGroup describe Stack, "with no elements" before @stack = Stack.new end it "should raise on pop" do lambda{ @stack.pop }.should raise_error end end
Use this to pull in examples from shared example groups.
Dynamically generates a custom matcher that will match a predicate on your class. RSpec provides a couple of these out of the box:
exist (for state expectations) File.should exist("path/to/file") an_instance_of (for mock argument constraints) mock.should_receive(:message).with(an_instance_of(String))
class Fish def can_swim? true end end describe Fish do predicate_matchers[:swim] = :can_swim? it "should swim" do Fish.new.should swim end end
Defines an explicit subject for an example group which can then be the implicit receiver (through delegation) of calls to should.
describe CheckingAccount, "with $50" do subject { CheckingAccount.new(:amount => 50, :currency => :USD) } it { should have_a_balance_of(50, :USD)} it { should_not be_overdrawn} end
See +ExampleMethods#should+ for more information about this approach.