You can't set a message_expectation at the end of a "it" block and expect it to do anything. It can only tell what happens after you set "should_receive"

Try this and see if it works:

```ruby
it "player should bust after 21" do
  game = mock(:game)
  game.should_receive(:bust)
  deck = mock(:deck, :cards => [Card.new(:clubs, 5),
                                Card.new(:diamonds, 7),
                                Card.new(:clubs, "K"),
                                Card.new(:diamonds, 5)])
  hand = Hand.new
  4.times { hand.hit!(deck) }
end
```

The thing I'm noticing: the game doesn't know about the hand. So, maybe you need to use a real Game object and send in the mocked deck.