| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/01/2009 12:21:30
|
von.juliano
GUJ Master
![[Avatar]](/images/avatar/efb61dd984183066a8815190a28bd956.jpg)
Membro desde: 15/01/2007 13:31:32
Mensagens: 1266
Offline
|
Pessoal, estou tentando criar um teste que altera um post e então adiciona um comentário a ele. O código é o seguinte:
Acho que até o primeiro assert está ok, mas não sei se a linha seguinte (5) está correta. Se ela estiver, as tentativas de verificar se o comentário foi adicionado estão corretas? Obrigado!
|
É difícil manter-se religioso quando algumas pessoas simplesmente não são carbonizadas por raios!
Desenvolvendo software de forma simples! - http://vonjuliano.wordpress.com/ |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/01/2009 13:00:51
|
diguix
JavaChild
![[Avatar]](/images/avatar/16ad66b2d7d7eda19f34e2f6197e2236.jpg)
Membro desde: 27/08/2006 19:53:29
Mensagens: 142
Localização: RJ/Rio de Janeiro
Offline
|
-editado -
-> na linha 2 substitua o nome da variavel post, para não confundir com o o método post da linha 5(o primeiro da linha)
-> na linha 5 utilize o post.id ao invés de (:post).id.
tente ai e diga se funcionou.
abs'[]
This message was edited 1 time. Last update was at 06/01/2009 13:05:09
|
O conhecimento está a onde nós olhamos com vontade de aprender! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/01/2009 13:13:08
|
von.juliano
GUJ Master
![[Avatar]](/images/avatar/efb61dd984183066a8815190a28bd956.jpg)
Membro desde: 15/01/2007 13:31:32
Mensagens: 1266
Offline
|
Oi diguix, na verdade, a forma como eu postei já funciona, eu gostaria de saber se foi feito da forma correta. Alterando de acordo com as suas sugestões funcionou da mesma forma.
O que eu gostaria de saber é o seguinte, se a linha 5 está correta, e se os asserts abaixo dela estão fazendo a verificação da forma correta, e, no caso, qual dos dois é o "mais correto", ou mais adequado.
Vlw!
|
É difícil manter-se religioso quando algumas pessoas simplesmente não são carbonizadas por raios!
Desenvolvendo software de forma simples! - http://vonjuliano.wordpress.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/01/2009 13:23:45
|
diguix
JavaChild
![[Avatar]](/images/avatar/16ad66b2d7d7eda19f34e2f6197e2236.jpg)
Membro desde: 27/08/2006 19:53:29
Mensagens: 142
Localização: RJ/Rio de Janeiro
Offline
|
Olá von.juliano,
eu acredito que as duas formas estão corretas, porém nunca fiz testes em ruby/rails(erro meu..) talvez conseguisse uma boa resposta no grupo do google rails-br,o pessoal lá é bem ativo.
Abs'[]
|
O conhecimento está a onde nós olhamos com vontade de aprender! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/01/2009 23:17:12
|
tchandy
JavaChild
![[Avatar]](/images/avatar/cad22bbf0e122b133c9ce941b80831e9.jpg)
Membro desde: 12/03/2007 21:18:49
Mensagens: 114
Localização: Jaraguá do Sul - SC
Offline
|
Cara, seguinte, xo tentar te ajudar hehe
post = posts(:one)
assert post.update_attributes(:title => 'Homework')
Essa parte do teste só está testando o método update_attributes, do Active Record, então não tem o porquê de testar...
post '/posts/post_comment', :comment => {:post_id=> (:post).id, :comment => "test comment"}
assert :comment, post.comments.last
assert assigns(:comment).valid?
Acredito que a melhor coisa a se fazer neste teste é testar o "comportamento", ou seja, vc teria que fazer o assert do post se ele foi atualizado, e se um comentário novo foi criado...
Aconselho vc a dar uma lida nos testes prontos criados pelo script/generate Scaffold... eles podem ser um ótimo ponto de partida...
Outro bom material: http://guides.rubyonrails.org/testing_rails_applications.html
Abraço!
|
Você pode ter todo dinheiro do mundo, mas há algo que jamais poderá comprar... Um Dinossauro!
(Homer J. Simpson)
http://thiagopradi.net | http://github.com/tchandy |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 08:10:30
|
von.juliano
GUJ Master
![[Avatar]](/images/avatar/efb61dd984183066a8815190a28bd956.jpg)
Membro desde: 15/01/2007 13:31:32
Mensagens: 1266
Offline
|
Oi tchandy,
tchandy wrote:
post = posts(:one)
assert post.update_attributes(:title => 'Homework')
Essa parte do teste só está testando o método update_attributes, do Active Record, então não tem o porquê de testar...
Aqui eufaçoo update do titulo, e o assert diz se foi feito corretamente, não é isso? Como devo fazer?
tchandy wrote:
post '/posts/post_comment', :comment => {:post_id=> (:post).id, :comment => "test comment"}
assert :comment, post.comments.last
assert assigns(:comment).valid?
Acredito que a melhor coisa a se fazer neste teste é testar o "comportamento", ou seja, vc teria que fazer o assert do post se ele foi atualizado, e se um comentário novo foi criado...
Sim, é o que quero fazer, e achei que a forma como fiz era a correta. Acho que não entendi direito
|
É difícil manter-se religioso quando algumas pessoas simplesmente não são carbonizadas por raios!
Desenvolvendo software de forma simples! - http://vonjuliano.wordpress.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 09:53:13
|
tchandy
JavaChild
![[Avatar]](/images/avatar/cad22bbf0e122b133c9ce941b80831e9.jpg)
Membro desde: 12/03/2007 21:18:49
Mensagens: 114
Localização: Jaraguá do Sul - SC
Offline
|
Bom, tou meio enferrujado no test/unit, mais vamos ver se posso ajudar hehe
Teste para a criação do Comment:
Aqui vc está comparando que deve ter uma diferença na contagem de comentários, ou seja, que um novo comentário foi criado, got it?
para o update, pode ser feito algo parecido com isso:
Tou meio enferrujado com o Test/Unit, ultimamente só estou usando o RSpec, então se alguém puder postar um código melhor...
Abraço
This message was edited 1 time. Last update was at 07/01/2009 09:54:09
|
Você pode ter todo dinheiro do mundo, mas há algo que jamais poderá comprar... Um Dinossauro!
(Homer J. Simpson)
http://thiagopradi.net | http://github.com/tchandy |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/01/2009 08:21:50
|
von.juliano
GUJ Master
![[Avatar]](/images/avatar/efb61dd984183066a8815190a28bd956.jpg)
Membro desde: 15/01/2007 13:31:32
Mensagens: 1266
Offline
|
Lendo o tutorial, consegui chegar à seguinte solução:
Esse teste está correto, o que está com um problema que ainda não resolvi é o seguinte:
Ele reclama que o método find não existe, o qual, pelo que entendi, traria o post alterado para verificação. Se eu usar posts(:one).title, o teste não bate, pois ele compara com o valor original do post.
Como devo fazer para trazer o valor alterado do post para verificação? Vlw!
This message was edited 1 time. Last update was at 13/01/2009 08:22:18
|
É difícil manter-se religioso quando algumas pessoas simplesmente não são carbonizadas por raios!
Desenvolvendo software de forma simples! - http://vonjuliano.wordpress.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/01/2009 10:20:55
|
tchandy
JavaChild
![[Avatar]](/images/avatar/cad22bbf0e122b133c9ce941b80831e9.jpg)
Membro desde: 12/03/2007 21:18:49
Mensagens: 114
Localização: Jaraguá do Sul - SC
Offline
|
utiliza o assigns(:post).title
abraço
|
Você pode ter todo dinheiro do mundo, mas há algo que jamais poderá comprar... Um Dinossauro!
(Homer J. Simpson)
http://thiagopradi.net | http://github.com/tchandy |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/01/2009 10:29:26
|
von.juliano
GUJ Master
![[Avatar]](/images/avatar/efb61dd984183066a8815190a28bd956.jpg)
Membro desde: 15/01/2007 13:31:32
Mensagens: 1266
Offline
|
tchandy, usando o assigns(:post).title obtenho o seguinte erro:
Tá complicado!
|
É difícil manter-se religioso quando algumas pessoas simplesmente não são carbonizadas por raios!
Desenvolvendo software de forma simples! - http://vonjuliano.wordpress.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/01/2009 10:35:19
|
tchandy
JavaChild
![[Avatar]](/images/avatar/cad22bbf0e122b133c9ce941b80831e9.jpg)
Membro desde: 12/03/2007 21:18:49
Mensagens: 114
Localização: Jaraguá do Sul - SC
Offline
|
cara, acredito que a sua rota esteja errada, tente rodar o seguinte:
Caso não funcionar, adiciona ae no Gtalk/Msn que te dou um help...
Abraço!
|
Você pode ter todo dinheiro do mundo, mas há algo que jamais poderá comprar... Um Dinossauro!
(Homer J. Simpson)
http://thiagopradi.net | http://github.com/tchandy |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/01/2009 10:47:49
|
von.juliano
GUJ Master
![[Avatar]](/images/avatar/efb61dd984183066a8815190a28bd956.jpg)
Membro desde: 15/01/2007 13:31:32
Mensagens: 1266
Offline
|
Não funcionou, dá o erro:
Mas o que você está sugerindo é um teste funcional, e não um de integração, correto?
Vou te adicionar no gtalk pra gente conversar, vlw!
|
É difícil manter-se religioso quando algumas pessoas simplesmente não são carbonizadas por raios!
Desenvolvendo software de forma simples! - http://vonjuliano.wordpress.com/ |
|
|
 |
|
|