title: Rspec getting "Stack level too deep" from associations
body: <p>For a controller test, at the top of the spec I'm defining the models:</p>
  
  <pre><code>  let(:user) { Factory(:user, :company =&gt; company) }
    let(:facility) { Factory(:facility, :company =&gt; company) }
    let(:company) { Factory(:company, :facilities =&gt; [facility]) }
  </code></pre>
  
  <p>And do the basic index spec:</p>
  
  <pre><code>  context "responding to GET index" do
      it "should expose all facilities as @facilities" do
        user.company.should_receive(:facilities).and_return([facility])
        get :index
        assigns[:facilities].should == [facility]
      end
    end
  </code></pre>
  
  <p>But I'm getting this error:</p>
  
  <pre><code>should expose all facilities as @facilities
  stack level too deep
  /Users/dmix/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.6.4/lib/rspec/core/let.rb:90
  88      module InstanceMethods
  89        def __memoized # :nodoc:
  90          @__memoized ||= {}
  91        end
  92      end
  </code></pre>
  
  <p>The problem seems to be referencing the 3 Factories at the same time.</p>
  
  <p>If I remove the :facilities from the company factory definition, the stack error goes way:</p>
  
  <pre><code>let(:company) { Factory(:company) }
  </code></pre>
  
  <p>How do I factory three models that all reference each other without getting a stackoverflow?</p>