title: Run before block once with RSpec 3
body: <p>I can't find a way around this.</p>
  
  <p>This is my test:</p>
  
  <pre><code>require 'rails_helper'
  
  RSpec.describe V1::UsersController do
  
    describe '#create' do
      let(:post_params) do
        {
          first_nm: Faker::Name.first_name,
          last_nm: Faker::Name.last_name ,
          password: "test123456",
          password_confirmation: "test123456",
          email_address: Faker::Internet.email
        }
      end
  
      before do
        post :create, params: post_params
      end
  
      context 'successful create' do
        subject(:user) { User.find_by_email(post_params[:email_address]) }
  
        it 'persists the user' do
          expect(user).not_to be_nil
        end
  
        it 'user data is correct' do
          post_params.except(:password, :password_confirmation).each do |k, v|
            expect(user.send(k)).to eq(v)
          end
        end
  
        it 'returns responsde code of 201' do
          expect(response.status).to eq(201)
        end
  
      end
    end
  end
  </code></pre>
  
  <p>I only want this controller to be hit once. However, I can't seem to get that to work.</p>
  
  <p>I have tried setting <code>before(:context)</code> and I get an error</p>
  
  <pre><code>RuntimeError:
         let declaration `post_params` accessed in a `before(:context)` hook at:
  
         `let` and `subject` declarations are not intended to be called
         in a `before(:context)` hook, as they exist to define state that
         is reset between each example, while `before(:context)` exists to
         define state that is shared across examples in an example group.
  </code></pre>
  
  <p>I don't want multiple users to be persisted for such a simple test. I also dont want to be hitting the api for every example. </p>
  
  <p>I want the <code>before</code> block to run once. How can I do this?</p>