segunda-feira, 19 de outubro de 2009

Um poco de RSpec

8

Estou focando um pouco dos meus estudos em RSpec e BDD, e é incrivel como existe pouco material em portugues sobre o RSpec, então, esse é um post rapido explicando como se validar algumas propriedades dos seus modelos no Rails usando RSpec.

PS: Estou utilizando I18n do Rails para a versão que eu traduzi do rails. seus erros podem estar na versão não traduzida, então o ideal é cuidar, pois seus testes podem não passar.

Validação um campo que deve ser informado.


#Imagine que User é uma classe de usuário qualquer
describe User do
it "should be have an login" do
@user = User.new
@user.save
@user.errors.on(:login).should be_eql("não pode ser em branco")#substitua essa string por seu texto customizado ou pela mensagem padrão em inglês
end
end


Esse codigo simula a gravação de uma entidade, e verifica se existe o erro. lembrando que você deve adicionar na classe user:

class User < ActiveRecord::Base
validates_presence_of :login
end


validando um número

#classe user.rb
validates_numericality_of :age, :only_integer => true
#user_spec.rb
it "should be have a valid number for age" do
@user.age = "a"
@user.save
@user.errors.on(:age).should be_eql("não é um número")
end


Validanto tamanho de um campo

it "should be invalid when the name is greater than 100" do
@user.name = "a"*101
@user.save
@user.errors.on(:name).should be_eql("é muito grande (máximo é 100 caracteres)")
end
#user.rb
validates_length_of :name, :maximum => 100


3 validações básicas para quem ta começando a mexer com o RSpec, não é lá grandes coisas, mas pode ajudar iniciantes em RoR a praticar o BDD.

[]'s

8 comentários:

Alison disse...

1

Alison disse...

Pura verdade, muito pouco material! Valeu amigon!!

Anônimo disse...

Devia haver um teste unitário para erros de portugês! "Mecher" é com X...

Anônimo disse...

Viu como eu tinha razão? É "português"!!!

Rafael Felix disse...

auhahuhuauhahua, realmente. Sou pessimo em português e não uso nenhuma ferramenta com corretor ortográfico para corrigir.

obrigado pela correção vou ajustar.

Anônimo disse...

Se você programa como escreve no seu blog, pare o que está fazendo!!!! vai até o RH e fale que você quer a conta.

Rafael Felix disse...

que bom que você é perfeito, deve ser bom ser assim. Se o conteudo do blog não é util a você, não precisa comentar. não faço o blog para ter comentarios, e sim para expor algum conhecimento para os outros.

Faça assim cuide do seu codigo que do meu cuido eu :)

[]'s

Anônimo disse...

brabo que nem um tatu.

 
Design by ThemeShift | Bloggerized by Lasantha - Free Blogger Templates | Best Web Hosting