| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/05/2010 11:50:46
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline
|
Testar um alias de um método que tem algumas regras. Como testar isso?
Eu não gostaria de rodar os mesmos testes para este alias pois repetiria código. Tem algum tipo de should_be_alias no rspec?
Me deram a sugestão de alterar o metodo original e ver se o mesmo foi executado mas acho isso muito "invasivo". Tem outra solução?
|
http://pacman.blog.br
'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.' |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/05/2010 13:10:42
|
elomarns
JavaGuru
![[Avatar]](/images/avatar/e044fb795495fd22d8146e50b961e852.jpeg)
Membro desde: 21/04/2006 11:36:58
Mensagens: 241
Localização: Duque de Caxias/RJ
Offline
|
Testar se o alias funciona, ou seja, se ao chamá-lo o método adequado é chamado não seria o mesmo que testar o Ruby (supondo que usará a palavra-chave alias)? Neste caso, considerando que o Ruby já tem seus próprios testes para essa palavra-chave, o seu teste não seria desnecessário?
|
Elomar Nascimento dos Santos.
Não clique aqui
Nem aqui |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/05/2010 18:39:27
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline
|
É possivel, porém imagine que eu tenho 4 metodos e um alias para um deles.
Um dia um desenvolvedor altera o alias, como eu vou saber?
Se eu repetir os testes do metodoX para o alias eu vou saber, mas ai é chato.
Eu poderia testar se na minha classe o metodo alias_method é chamado com os 2 parametros mas uma vez que a classe é carregada pelo ruby, como testar isso?
|
http://pacman.blog.br
'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.' |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/05/2010 22:23:02
|
elomarns
JavaGuru
![[Avatar]](/images/avatar/e044fb795495fd22d8146e50b961e852.jpeg)
Membro desde: 21/04/2006 11:36:58
Mensagens: 241
Localização: Duque de Caxias/RJ
Offline
|
peczenyj wrote:É possivel, porém imagine que eu tenho 4 metodos e um alias para um deles.
Um dia um desenvolvedor altera o alias, como eu vou saber?
Se eu repetir os testes do metodoX para o alias eu vou saber, mas ai é chato.
Eu poderia testar se na minha classe o metodo alias_method é chamado com os 2 parametros mas uma vez que a classe é carregada pelo ruby, como testar isso?
Realmente, seria bom testar o alias pra garantir que a situação apontada por você não aconteça sem ser detectada.
Também não sei como testar isso, mas ao pesquisar sobre o assunto, achei a seguinte página: http://rubyforge.org/pipermail/test-unit-tracker/2009-October.txt. Nela, é sugerido usar o seguinte código:
No entanto, eu testei aqui, e o instance_method não funcionou. Ele deu false ao fazer a comparação de um método e seu alias.
|
Elomar Nascimento dos Santos.
Não clique aqui
Nem aqui |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2010 18:15:16
|
elomarns
JavaGuru
![[Avatar]](/images/avatar/e044fb795495fd22d8146e50b961e852.jpeg)
Membro desde: 21/04/2006 11:36:58
Mensagens: 241
Localização: Duque de Caxias/RJ
Offline
|
Falei besteira no post anterior. O código abaixo funcionaria pra testar um alias:
Obviamente o teste só passaria se full_name fosse um alias de name. Deve ter dado errado quando tentei ontém por ter usado o alias ao invés do alias_method.
|
Elomar Nascimento dos Santos.
Não clique aqui
Nem aqui |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2010 18:24:04
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline
|
Wow!
funciona 100%
Valeu, ficou muito bom!!
|
http://pacman.blog.br
'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.' |
|
|
 |
|
|