Eu estava procurando uma maneira fácil de testar meus modelos e me deparei com esta joia
https://github.com/bogdan/accept_values_for
um exemplo tirado daqui ( http://www.christopherbloom.com/2011/07/12/testing-model-validations-in-rspec-the-short-and-sweet-way/ )
it "should be required" do
blank = Factory.build(:my_model, :name => "")
blank.should_not be_valid
blank.errors[:name].should include("can't be blank")
blank.name = "Foo"
blank.should be_valid
end
mas isso parece muito mais limpo e faz o mesmo
it { should accept_values_for(:name, "Foo") }
it { should_not accept_values_for(:name, nil) }