Lazy is the way to go:
[:user_id, :product_id, :person_id, :status, :purpose, :site_id].each do |field|
it “should have required #{field}” do
lambda {
lead = create_lead(field => nil)
lead.should have_at_least(1).errors_on(field)
}.should_not change(Lead,:count)
end
end