W bandą rspec szyn specyfikacji jednostkowych zrobić coś takiego:Jak pisać metody wstawiania przykładów rspec?
describe Foo do
[:bar, :baz].each do |a|
it "should have many #{a}" do
Foo.should have_many(a)
end
end
end
czystszych kodu wolałbym zrobić coś takiego:
describe Foo do
spec_has_many Foo, :bar, :baz
end
Więc jak mam napisać metodę pomocnika jak spec_has_many()
do wstawienia kodu DSL, na przykład metody rspec: it()
? Gdyby to było dla zwykłej metody instancji zrobiłbym coś takiego:
def spec_has_many(model, *args)
args.each do |a|
define_method("it_should_have_many_#{a}") do
model.should have_many(a)
end
end
end
co byłoby równoważne definiowania rspec przykłady?