BT

BDD em Ruby on Rails com Remarkable

por Sebastien Auvray , traduzido por Tony Fabeen em 08 Mai 2009 |

Há várias formas de desenvolver, testar e integrar suas aplicações Rails. As opções vão desde o básico em TDD, neste caso utilizando como opções como :Test::Unit ou ZenTest, ou praticar BDD com frameworks comoRSpec, Shoulda, Cucumber ou até mesmo escrever suas próprias macros para o RSpec.

Pode ser um caminho difícil tentar encontrar a melhor ferramenta, bem como melhores práticas. O projeto Remarkable surge com a missão de simplificar a forma de fazer BDD em Rails, deixando a prática menos dolorosa.

O Remarkable é um framework construído a partir de uma DSL própria, sendo uma extensão do RSpec provendo macros e suporte a internacionalização (I18n). O framework provê ainda uma vasta coleção de RSpec matchers, podendo ser utilizadas tanto para objetos relacionados a ActiveRecord quanto ActionController.

Com o Remarkable você pode utilizar tanto a sintaxe RSpec ou Shoulda-like para o desenvolvimento de seus testes :

   
    1) it { should validate_numericality_of(:age).greater_than(18).only_integer }

    2) it { should validate_numericality_of(:age, :greater_than => 18, :only_integer => true) }


    3) should_validate_numericality_of :age, :greater_than => 18, :only_integer => true

    4) should_validate_numericality_of :age do |m|
         m.only_integer
         m.greater_than 18
         # Or: m.greater_than = 18

       end

E também descrever facilmente os testes para os seus models :

  
    describe Post do
        should_belong_to :user
        should_have_many :comments
        should_have_and_belong_to_many :tags


        should_validate_presence_of :body
        should_validate_presence_of :title
        should_validate_uniqueness_of :title, :allow_blank => true
    end
    

Em versões futuras o framework proverá suporte para testes em objetos relacionados a ActionView. O projeto está em sua versão 3.0.10 e em constante atividade.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT