title: In rspec-rails the difference between "let" VS "let!"
body: <p>I have googled this question but still not clear. I get that (:let) is lazily evaluated and will never be instantiated if you don't call it, while (:let!) is forcefully evaluated before each method call.</p>
  
  <pre><code>let(:article) = { Article.new(name: 'article1') }
  let!(:article) = { Article.new(name: 'article1') }
  </code></pre>
  
  <p>Can any body explain it more and what are the benefits of using let!  </p>