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.

  1. #Imagine que User é uma classe de usuário qualquer  
  2. describe User do  
  3.   it "should be have an login" do  
  4.      @user = User.new  
  5.      @user.save  
  6.      @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  
  7.   end  
  8. end  


Esse codigo simula a gravação de uma entidade, e verifica se existe o erro. lembrando que você deve adicionar na classe user:
  1. class User < ActiveRecord::Base  
  2.   validates_presence_of :login  
  3. end  


validando um número
  1. #classe user.rb  
  2. validates_numericality_of :age:only_integer => true  
  3. #user_spec.rb  
  4. it "should be have a valid number for age" do  
  5.   @user.age = "a"  
  6.   @user.save  
  7.   @user.errors.on(:age).should be_eql("não é um número")  
  8. end  


Validanto tamanho de um campo
  1. it "should be invalid when the name is greater than 100" do  
  2.   @user.name = "a"*101  
  3.   @user.save  
  4.   @user.errors.on(:name).should be_eql("é muito grande (máximo é 100 caracteres)")  
  5. end  
  6. #user.rb  
  7. 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