RSpecのletは作りなおしてしまってよい?
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