たくさんのrspecrailsユニットの仕様で、私は次のようなことをします。
describe Foo do
[:bar, :baz].each do |a|
it "should have many #{a}" do
Foo.should have_many(a)
end
end
end
よりクリーンなコードのために、私はむしろ次のようなことをしたいと思います:
describe Foo do
spec_has_many Foo, :bar, :baz
end
spec_has_many()
では、rspecのメソッドのようなDSLコードを挿入するようなヘルパーメソッドをどのように書くのit()
ですか?通常のインスタンスメソッドの場合、次のようにします。
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
rspecの例を定義するのに相当するものは何ですか?