

RSpec3です。

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

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

[code]

      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
    
[/code]


CC BY-SA 3.0
2016-07-28T12:50:53.913
27921
2016-07-28T12:56:31.007
2016-07-28T12:56:31.007
9008
9008
question
rspec
RSpecのletは作りなおしてしまってよい？