title: Rspec `allow` not preventing method evaluation
body: <p><strong>RESOLVED</strong></p>
  
  <p>Ran into an issue where <code>allow</code> is not stubbing a class method. I know this because if I stick a <code>pry</code> in the inner_method below, rspec will halt @ it during evaluation of the test. This behavior ONLY happens when the returned value is a <code>factory_girl</code> factory </p>
  
  <p>example: </p>
  
  <pre><code>context '.wrapping_method returns inner value' do
     it 'returns a value' do
       allow(Thing).to receive(:method).and_return 'what'
       expect(Thing.wrapping_method).to eql 'what'
     end
  end
  </code></pre>
  
  <p><code>Thing</code> class structure could be considered:</p>
  
  <pre><code>class Thing do
     def self.wrapping_method
        inner_method || = 'nothing from inner'
     end
  
     def self.inner_method
         # do some sort of thing here and return a value
         binding.pry # &lt;= eval reaches this
     end
  end
  </code></pre>
  
  <p>It should be noted that other apps I have do not perform like this, and i am stumped as to what is different here. </p>
  
  <p><strong>RESOLUTION</strong> code performed above the <code>wrapping_method</code> caused a exception which was handled strangely, and somehow the test context was lost, but the <code>wrapper_method</code> soldiered on and <code>inner_method</code> was triggered. <em>Resolved by fixing the strange exception handling</em></p>