MouseOver Studio

MouseOver Studio header image 2

Testando Authlogic com RSpec, the Remarkable way

May 14th, 2009 por Diego Carrion · 6 comentários

Davis Cabral criou um plugin para o Remarkable para poder testar facilmente o Authlogic chamado de authlogic_plugin. Com ele podemos escrever código como o seguinte:

describe User do
  should_be_authentic
end

Conversando com o Davis ele me comentou que demorou quatro minutos em criar o plugin, utilizando como base o Remarkable::Paperclip, deve ser muito fácil né?

Se você gostou do plugin, considera recomendar o Davis no Working With Rails, ai você aproveita e me recomenda também :)

Tags: Authlogic · Remarkable · bdd · rails · rspec

6 respostas ate agora ↓

  • 1 Ramon Soares // May 14, 2009 at 3:34 pm

    Isso testa exatamente oq do authlogic?

    @subject.class.new.respond_to?(’reset_persistence_token!’)

    verificar a existência de um método pra min n é um testes valido.

  • 2 Diego Carrion // May 14, 2009 at 4:06 pm

    Eu utilizei o plugin num projeto e me ajudou bastante. Eu fiz o teste e depois outra pessoa implementou o código. A pessoa, ao ver que aparecia um “should acts as authentic” na descrição do erro se ligo que tinha que colocar o acts_as_authentic no modelo e assim o teste passou. Um dia depois, outra pessoa foi e por algum motivo apagou a mesma linha, nesse momento apareceu novamente a mensagem “should acts as authentic”.

    Por ser Ruby uma linguagem de meta-programação, vários dos matchers do Remarkable e ate do Shoulda funcionam assim, verificando métodos. São pequenos truques válidos porque a implementação de uma classe não deve ser baseada na implementação do teste, então os desenvolvedores responsáveis não vão ficar analisando o código do teste para implementar um código que unicamente satisfaça eles.

  • 3 Davis Zanetti Cabral // May 14, 2009 at 4:20 pm

    É um matcher simples, o plugin implementa isso quando você chama o acts_as_auhentic, não vejo motivo para ser redundante e testar vários métodos…

    O Authlogic já possui testes, então eu só preciso verificar se o acts_as_authentic foi chamado!

    E como a configuração é variável, poderia fazer uns matchers para verificar se as colunas definidas na configuração existem, mas simples assim já resolve meu problema! :)

    Mas de qualquer forma, foi útil para mim :-)

  • 4 nomeo // Jun 19, 2009 at 12:37 pm

    yumeee

  • 5 Ricardo Yasuda // Aug 24, 2009 at 6:32 pm

    Muda aí o nome e o caminho para o plugin: http://github.com/daviscabral/remarkable_authlogic/tree/master

  • 6 Diego Carrion // Aug 24, 2009 at 6:43 pm

    Valeu Ricardo!

Deixar um comentário