Ruby Shoulda Bundle para Textmate

30 de maio de 2008  |  Open Source  | 

Começamos a usar faz pouco tempo o Rspec em um projeto aqui na Surgeworks. Como eu nunca tinha trabalhado com ele até então, tive de passar por um período de aprendizado/adaptação.

Gostei, mas confesso que não consegui me sentir totalmente à vontade com ele, não pelo menos, da mesma forma que me sinto quando estou usando o Unit::Test.

Depois de um tempos começamos um novo projeto e resolvi testar o Shoulda criado pela Thoughtbot, que prometia adicionar a sintaxe do Rspec ao Test::Unit. Agora sim!

O Shoulda vêm em forma de plugin ou gem e acrescenta diversos helpers ao Test::Unit deixando ele turbinado. Veja como o Shoulda pode ser útil e fácil:

class UserTest < Test::Unit::TestCase
  load_all_fixtures

  should_have_many :posts

  should_not_allow_values_for :email, "blah", "b lah"
  should_allow_values_for :email, "a@b.com", "asdf@asdf.com"
  should_ensure_length_in_range :email, 1..100
  should_ensure_value_in_range :age, 1..100
  should_protect_attributes :password

  context "A User instance" do
    setup do
      @user = User.find(:first)
    end

    should "return its full name" do
      assert_equal 'John Doe', @user.full_name
    end

    context "with a profile" do
      setup do
        @user.profile = Profile.find(:first)
      end

      should "return true when sent #has_profile?" do
        assert @user.has_profile?
      end
    end
  end
end

Muito bom!

Para facilitar meu desenvolvimento peguei o bundle para o Textmate que estava sendo mantido pelo Dr. Nic, e fiz uma série de correções e alterações para contemplar todos os helpers disponíveis no plugin. Neste momento o bundle está completo.

O projeto como sempre está no GitHub e pode ser pego aqui.


4 Comentários


  1. Legal mesmo, semana que vem vou usar esse bundle

    Sobre o rspec eu juro que tentei, até ganhei um cupom do peepcode de um podcast bacana ae ehehehehe mas o rspec nao me deixa confortável apesar do conceito de testar comportamento ser ótimo.

    O shouda é muito bom, as macros são bem pragmáticas

  2. O Bundle está redondinho… se encontrar alguma coisa faltando ou errado me dê um toque.

  3. Legal, o bundle estava meio incompleto mesmo. Parabéns!

  4. alguem percebe de pokemon?
    respondam por favor

Trackbacks

  1. BDD com Shoulda: Menos código, testes mais legíveis « FlavioGranero.com

Deixe um comentário