テストのために特定のメソッドをクラスに一時的に適用することはできますか? 適用する多くの方法に応じて仕様を実行できるようにしたいと考えています。さまざまな設定で多数のフィクスチャを作成することもできますclass_eval
が、テストでモデルだけを作成する方が簡単であることがわかりました。例えば:
describe "some context"
before do
Page.class_eval do
my_applying_method :some => :option
end
end
it "should..."
end
次に、別のコンテキスト ブロックで:
describe "another context without the gem applied"
before do
Page.class_eval do
# nothing here since I want to page to be as is
end
end
it "should do something else..."
end
しかし、最後のコンテキスト ブロックの問題は、クラスが変更されていることです (上記のコンテキスト ブロックで変更されています)。後にクラスをリセットすることは可能class_eval
ですか? どのように?
ありがとう!