before(:each)セクションでカスタムメソッドを使用すべきか
-
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%確かではありませんが、過去にも同様の設定を見てきました。
所属していません StackOverflow