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
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