2011-07-31 13 views
1

1つのテストが失敗した場合、他のテストが失敗します。 これを変更して、be_validがtrueである場合、他のチェック(以下「それ」という)が完了するようにするにはどうすればよいですか?つまり、次の "it"をどのように入れ子にすることができますか?私は他のすべてのコンテキストを作成することができ、それ自体はbe_validですが、どのように依存しているかを確認します(この場合は良い方法で実行されます)。どのようにしてrspecテストの依存関係を減らすことができますか?

describe Gorilla do 
    context "is valid" do 
    subject { Factory.build(:gorilla) } 
    it { should be_valid } 
    it { should have_many :gorilla_memberships} 
    it { should have_many(:gorilla_groups).through(:gorilla_memberships) } 
    it { should have_many :gorilla_observations } 
    it { should have_one(:avatar).through(:gorilla_observations) } 
    it { should have_one(:noseprint).through(:gorilla_observations) } 
... 

答えて

2

rspecの例の間に何らかの種類の関係を作成するための明示的なサポートはありません。

+0

ありがとうございました。どちらかについて:前にまたは入れ子になって、それは私を助けることができますか? –

+0

依存関係の例をネストし、その親サンプルグループのメタデータに失敗を探してネストしたグループにbefore(:all)を含めて、何かを一緒にハックすることができます。それらは動く。私はそれがうまくいくかどうかは確信していません。私はその価値観に懐疑的であり、あなたのスペックをガムにしてくれると確信しています。 –

+0

ガムが嫌い、それが正しいアプローチでないなら、私は気にしませんハックで。ありがとう:) –

関連する問題