title: Test for ActiveRecord::RecordNotFound
body: <p>My application is propagating a ActiveRecord::RecordNotFound to the controller when a model can't retrieve a record.</p>
  
  <p>Here is the DB query:</p>
  
  <pre><code>def self.select_intro_verse
    offset = rand(IntroVerse.count)
    IntroVerse.select('line_one', 'line_two', 'line_three', 'line_four', 'line_five').offset(offset).first!.as_json
  end
  </code></pre>
  
  <p><code>first!</code> raises a <code>ActiveRecord::RecordNotFound</code> if no record is found, and I am able to rescue it and render an appropriate template in my controller.</p>
  
  <p>This is the expected behavior so I would like to have a test for it in my specs. I wrote:</p>
  
  <pre><code>context "verses missing in database" do
    it "raises an exception" do
      expect(VerseSelector.select_intro_verse).to raise_exception
    end
  end
  </code></pre>
  
  <p>When I run rspec: </p>
  
  <p><code>1) VerseSelector verses missing in database raises an exception
       Failure/Error: expect(VerseSelector.select_intro_verse).to raise_exception
       ActiveRecord::RecordNotFound:
         ActiveRecord::RecordNotFound</code></p>
  
  <p>To me the test fails even though the exception is raised! How can I make my test pass?</p>