title: Rspec 3 vs Rspec 2 matchers
body: <p>Learning how to Rspec 3. I have a question on the matchers.  The tutorial i am following is based on Rspec 2.</p>
  
  <pre><code>describe Team do
  
    it "has a name" do
      #Team.new("Random name").should respond_to :name
      expect { Team.new("Random name") }.to be(:name)
    end
  
  
    it "has a list of players" do
      #Team.new("Random name").players.should be_kind_of Array
      expect { Team.new("Random name").players }.to be_kind_of(Array)
    end
  
  end
  </code></pre>
  
  <p>Why is the code causing an error while the one i commented out passing with depreciation warning.</p>
  
  <p>Error</p>
  
  <pre><code>Failures:
  
    1) Team has a name
       Failure/Error: expect { Team.new("Random name") }.to be(:name)
         You must pass an argument rather than a block to use the provided matcher (equal :name), or the matcher must implement `supports_block_expectations?`.
       # ./spec/team_spec.rb:7:in `block (2 levels) in &lt;top (required)&gt;'
  
    2) Team has a list of players
       Failure/Error: expect { Team.new("Random name").players }.to be_kind_of(Array)
         You must pass an argument rather than a block to use the provided matcher (be a kind of Array), or the matcher must implement `supports_block_expectations?`.
       # ./spec/team_spec.rb:13:in `block (2 levels) in &lt;top (required)&gt;'
  </code></pre>