Correct way of testing "associations" with Rspec?

  it { Idea.reflect_on_association(:person).macro.should  eq(:belongs_to) }
  it { Idea.reflect_on_association(:company).macro.should eq(:belongs_to) }
  it { Idea.reflect_on_association(:votes).macro.should   eq(:has_many) }

I usually use this approach:

describe User do
  it "should have many teams" do
    t = User.reflect_on_association(:teams)
    expect(t.macro).to eq(:has_many)
  end
end

A better solution would be to use the gem shoulda which will allow you to simply:

describe Team do
  it { should belong_to(:user) }
end