| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/09/2008 12:11:03
|
mateusbrum
JavaBaby
![[Avatar]](/images/avatar/be6ea238d9be0fc60080a6f8a8188817.png)
Membro desde: 21/01/2007 22:55:29
Mensagens: 84
Offline
|
Boa tarde pessoal!
Tenho algumas dúvidas um tanto quanto delicadas sobre a utilização dos mocks para testes unitários.
Vejamos:
1 - Caso eu tenho um objecto colaboradora e esse colaborador apesar de complexo é de simples acesso, devo criar um mock para o mesmo ?
2 - Caso não crie um mock e utilize o objecto real, é caracterizado teste de integração?
3 - Devo considerar todos os objectos colaboradores reais correctos (funcionalmente correctos), e não me preocupar com eles para testar minha unidade ?
4 - Há casos que tenho vários objectos colaboradores com várias dependências, como lido com essa situação caso seja necessário sempre utilizar mock para isolar a unidade ?
5 - Unidades que usam objectos reais não estão completamente isoladas ?
Resumindo, quando utilizar mocks e quando utilizar objectos reais, quais as vantagens e desvantagens?
Obrigado!
|
Mateus Henrique Brum
Analista Programador Java
Sun Certified Java Programmer 6.0
Sun Certified Web Component Developer 5.0 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/09/2008 12:33:55
|
Adolfo Rodrigues
Java Ninja
![[Avatar]](/images/avatar/5c9dc137c4e9543d7e4001d7bdef7413.jpg)
Membro desde: 18/04/2007 20:02:52
Mensagens: 270
Localização: Sampa
Offline
|
Na maioria dos casos, quando está testando unitariamente uma classe que possui dependências. O mock te ajuda a isolar o comportamento da unidade de trabalho que você está testando.
|
http://www.adolfosousa.com.br/blog |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/09/2008 12:38:16
|
mateusbrum
JavaBaby
![[Avatar]](/images/avatar/be6ea238d9be0fc60080a6f8a8188817.png)
Membro desde: 21/01/2007 22:55:29
Mensagens: 84
Offline
|
Certamente. Mas isso me leva a alguns problemas relatado anteriormente, como quantidade de código codificado.
Não seria melhor utilizar o objecto real quando possível?
|
Mateus Henrique Brum
Analista Programador Java
Sun Certified Java Programmer 6.0
Sun Certified Web Component Developer 5.0 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/09/2008 09:38:05
|
marcelo_mococa
Virtual Machine Man
![[Avatar]](/images/avatar/90248d0a98105fa534cf2b0696ddd12f.jpg)
Membro desde: 03/03/2005 10:03:32
Mensagens: 622
Localização: São Paulo
Offline
|
Em minha opinião, você deve isolar totalmente as dependências.
Dependendo da arquitetura e granularidade de suas classes, você terá muitos mocks.
Se você tiver que criar poucos ou nenhum mock, analise seu código, talvez ele esteja pouco coeso e precise ser refatorado.
Se você utilizar uma referência para o objeto real, você estará fazendo um teste de integração e não mais de unidade.
att.
Marcelo
|
Marcelo Madeira - TCS
SCJP 1.5
SCWCD 1.4
blog
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/09/2008 09:55:23
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline
|
Eu posso fazer um teste aonde eu crio um mock da ClasseASerMockada. Isso é util pois o meu método deve funcionar de acordo com o que eu espero da ClasseASerMockada.
Eu posso fazer um segundo teste aonde a ClasseASerMockada é a classe real, ai eu testo a integração das classes e o seu comportamento como um todo.
Ao meu ver são 2 situações distintas e complementares, um teste unitário e um teste de integraçã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.' |
|
|
 |
|
|