BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias BDD em Ruby on Rails com Remarkable

BDD em Ruby on Rails com Remarkable

Favoritos

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

Conteúdo educacional

BT