RSpec3です。

下記のようにletを上書き?(オーバーライド?)してしまって問題ないのでしょうか?
(このletの使い方の正しい用語が不明です。 オーバーライド? 作り直し?)
動作的には問題なかったのですが、マニュアル等で言及されているものが見つけられませんでした。

用途としては、多くのcontextでほとんど共通なのですが、極小数のパターンで上書きしたい場合(わざと異常なデータを入れる)を想定しています。

  describe '#hoge' do
    let(:hoge) { 'hoge' }
    subject { hoge }

    context 'case 1' do
      let(:hoge) { 'hoge1' }
      it { is_expected.to eq 'hoge1' }
    end

    context 'case 2' do
      let(:hoge) { 'hoge2' }
      it { is_expected.to eq 'hoge2' }
    end
  end