before(:each)セクションでカスタムメソッドを使用すべきか

StackOverflow https://stackoverflow.com/questions/267938

  •  06-07-2019
  •  | 
  •  

質問

メインカテゴリの作成に使用されるcreate_mainというモデルカテゴリのメソッドがあります。メソッド自体をテストする必要がある場合でも、before(:each)セクションでこのメソッドを使用する必要がありますか、または機能を組み込んだレールを使用してメインカテゴリを手動で作成する必要があります。

役に立ちましたか?

解決

サンプルを2つのサンプルグループに分割できます。1つのグループは、create_mainでbefore(:each)が呼び出され、これを使用してcreate_main以外のすべてをテストします。次に、before(:each)がcreate_mainを呼び出さない別のサブセットがあり、ここでcreate_mainをテストします。

あなたの場合、次のようなものを試すことができると思います:

describe Category, " without a main category" do
  before(:each) do
    # No call to create_main here
  end

  it "should create the main category" do
    # Here we test that create_main is working
  end
end

describe Category, " with a main category already created" do
  before(:each) do
    # This time, we do call create_main to set up the object as necessary
  end

  # More examples go here that depend on create_main
end

そのショットを与えます。動作するかどうかは100%確かではありませんが、過去にも同様の設定を見てきました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top