In un gruppo di rotaie RSpec Specifiche unità che faccio qualcosa di simile:Come si scrivono i metodi che inseriscono esempi rspec?
describe Foo do
[:bar, :baz].each do |a|
it "should have many #{a}" do
Foo.should have_many(a)
end
end
end
Per il codice più pulito Preferirei fare qualcosa di simile:
describe Foo do
spec_has_many Foo, :bar, :baz
end
Così Come faccio a scrivere un metodo di supporto come spec_has_many()
per inserire il codice DSL come il metodo it()
di rspec? Se fosse per un metodo di istanza ordinaria farei qualcosa di simile:
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
Quale sarebbe l'equivalente per la definizione esempi RSpec?