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.

Avalie esse artigo

Relevância
Estilo/Redação

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
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.