ネストされたコンテキストの詳細だけをオーバーライドするために例を再利用するにはどうすればよいですか?このようなネストされたRspecコンテキストの例を継承する
何か(私が代わりにそれは、ネストされたコンテキストで実行されていることを示し、それのthee
を使用それは私がしたいだけで何、RSpecのではありません。):
describe "Abilities" do
subject { Abilities.new user }
context "allowed" do
let(:user) { Factory(:power_user) }
thee { should be_able_to :create, object }
thee { should be_able_to :read, object }
thee { should be_able_to :update, object }
context "comment" do
let(:object) { Factory(:comment) }
end
context "post" do
let(:object) { Factory(:post) }
end
context "blog" do
let(:object) { Factory(:blog) }
end
end
end
この例では、3で終わるだろう3つのコンテキスト(コメント、投稿、ブログ)の例(作成、読み込み、更新)は合計9つの例になります。
これを実現するにはどうすればよいですか(共有例を書かずに)?
注:これ以上の例を共有するこの方法はお勧めしません。 RSpecの共有コンテキストは現在コンテキスト内に存在し、グローバルスコープには出ないため、代わりにそれらを使用する必要があります。代わりに、共有の例が独立して実行するのが混乱する可能性があり、デバッグするのが難しいため、代わりに独自のマッチャーを構築します。 –