RSpec Results

 

 

Mocker
should be able to call mock()
should fail when expected message not received
Mock 'poke me' expected :poke with (any args) once, but received it 0 times
./failing_examples/mocking_example.rb:13:
./spec/spec/runner/formatter/html_formatter_spec.rb:24:
./spec/spec/runner/formatter/html_formatter_spec.rb:20:
11  it "should fail when expected message not received" do
12    mock = mock("poke me")
13    mock.should_receive(:poke)
14  end
15  
should fail when messages are received out of order
Mock 'one two three' received :three out of order
./failing_examples/mocking_example.rb:22:
./spec/spec/runner/formatter/html_formatter_spec.rb:24:
./spec/spec/runner/formatter/html_formatter_spec.rb:20:
20    mock.should_receive(:three).ordered
21    mock.one
22    mock.three
23    mock.two
24  end
should get yelled at when sending unexpected messages
Mock 'don't talk to me' expected :any_message_at_all with (any args) 0 times, but received it once
./failing_examples/mocking_example.rb:28:
./spec/spec/runner/formatter/html_formatter_spec.rb:24:
./spec/spec/runner/formatter/html_formatter_spec.rb:20:
26  it "should get yelled at when sending unexpected messages" do
27    mock = mock("don't talk to me")
28    mock.should_not_receive(:any_message_at_all)
29    mock.any_message_at_all
30  end
has a bug we need to fix
Expected pending 'here is the bug' to fail. No Error was raised.
./failing_examples/mocking_example.rb:33:
./spec/spec/runner/formatter/html_formatter_spec.rb:24:
./spec/spec/runner/formatter/html_formatter_spec.rb:20:
31
32  it "has a bug we need to fix" do
33    pending "here is the bug" do
34      # Actually, no. It's fixed. This will fail because it passes :-)
35      mock = mock("Bug")
Running specs with --diff
should print diff of different strings
expected: "RSpec is a\nbehaviour driven development\nframework for Ruby\n",
     got: "RSpec is a\nbehavior driven development\nframework for Ruby\n" (using ==)
Diff:
@@ -1,4 +1,4 @@
 RSpec is a
-behavior driven development
+behaviour driven development
 framework for Ruby
./failing_examples/diffing_spec.rb:13:
./spec/spec/runner/formatter/html_formatter_spec.rb:24:
./spec/spec/runner/formatter/html_formatter_spec.rb:20:
11framework for Ruby
12EOF
13    usa.should == uk
14  end
should print diff of different objects' pretty representation
expected <Animal
name=bob,
species=tortoise
>
, got <Animal
name=bob,
species=giraffe
>
 (using .eql?)
Diff:
@@ -1,5 +1,5 @@
 <Animal
 name=bob,
-species=giraffe
+species=tortoise
 >
./failing_examples/diffing_spec.rb:34:
./spec/spec/runner/formatter/html_formatter_spec.rb:24:
./spec/spec/runner/formatter/html_formatter_spec.rb:20:
32    expected = Animal.new "bob", "giraffe"
33    actual   = Animal.new "bob", "tortoise"
34    expected.should eql(actual)
35  end
36end
A consumer of a stub
should be able to stub methods on any Object
A stubbed method on a class
should return the stubbed value
should revert to the original method after each spec
can stub! and mock the same message
A mock
can stub!
can stub! and mock
can stub! and mock the same message
pending example (using pending method)
should be reported as "PENDING: for some reason" (PENDING: for some reason)
pending example (with no block)
should be reported as "PENDING: Not Yet Implemented" (PENDING: Not Yet Implemented)
pending example (with block for pending)
should have a failing block, passed to pending, reported as "PENDING: for some reason" (PENDING: for some reason)