rspecテストでは、繰り返しを避けるために2つの異なるクラスの共有テストを実装したいと思います。テストはオブジェクトfoo
とbar
に対して実行されます。予想通りfoo
とbar
がFOOBAR
の宣言時に利用できないので、これは動作しませんrspecテストケースでオブジェクトを反復する
let(:foo) { create(:foo) }
let(:bar) { create(:bar) }
FOOBAR = {
"foo" => foo,
"bar" => bar
}
describe 'POST :id/foobar_type/:foobar_id/do' do
FOOBAR.each do |foobar_type, foobar|
it 'creates something on an foobar' do
end
it 'raises an error if unauthorized' do
end
...
end
end
:私のテストでは、以下の構造を有しています。これらは、it
ブロック中にのみ有効です。どのようにこのようなテストパターンを実装できますか?
あなたはRSpecの内の共有行動の機能を使用してみましたか? – MageeWorld