| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/02/2011 10:14:48
|
LPJava
GUJ Hacker
Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline
|
olá pessoal,
queria tirar uma duvida com vcs, tenho um ambiente com o http://www.eclemma.org/index.html o qual uso para saber qtos % dos meus tests estão cobertos. Quando nao uso uma API de mock, agora estou usando o Mockito a classe core tem seu % de cobertura, porem nas classes que são "mockadas" não aparece a cobertura, porem todos os testes estão passando.
A duvida é como, eu posso resolver isso? de saber qtos % das classes q usam mock estao cobertas?
Alguem já passou por isso?
flw.
|
Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/02/2011 02:17:09
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
As classes que estao mockadas nao estao sendo utilizadas, logo nao deveriam ter cobertura nenhuma...
Acho que eu nao entendi a duvida direito, pode esclarecer melhor qual o numero que esta errado?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/02/2011 09:08:01
|
LPJava
GUJ Hacker
Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline
|
opa! cv. é isso que está rolando as classes mockadas estão sem cobertura, e achei que tinha algo de errado nisso. que elas deveriam ter, e como faria para cobrir. Então sempre que mockar terei 0% de cobertura, pq?
flw.
|
Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/02/2011 12:20:03
|
esmiralha
JavaEvangelist
Membro desde: 19/07/2006 09:04:42
Mensagens: 402
Offline
|
LPJava wrote:opa! cv. é isso que está rolando as classes mockadas estão sem cobertura, e achei que tinha algo de errado nisso. que elas deveriam ter, e como faria para cobrir. Então sempre que mockar terei 0% de cobertura, pq?
flw.
Porque esse teste não está testando a classe mockada. Crie outro teste para testar essa classe de verdade. Assim vc terá cobertura nela também.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2011 10:52:52
|
LPJava
GUJ Hacker
Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline
|
hm, mais se eu testar a classe real, estarei dependendo da conexao com o BD etc. um exemplo basico:
Como testaria isso?
Hoje tenho algo assim:
Mas, a cobertura para classe UsuarioDAO é 0%. Isso que n entendi como resolver.
flw, pessoal.
|
| Nome do arquivo |
coveragedao.png |
Download
|
| Descrição |
|
| Tamanho |
17 Kbytes
|
| Baixado: |
39 vez(es) |
|
Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2011 11:44:23
|
RafaelViana
GUJ Master
Membro desde: 23/03/2008 18:56:02
Mensagens: 1257
Localização: Venâncio Aires/RS
Offline
|
Não gosto de mocks.. Para testar interações com o banco utilizo a classe real.
No hibernate.cfg.xml eu configuro: <property name="hibernate.hbm2ddl.auto">create</property>
E no @BeforeClass de cada teste eu recrio a session factory (assim recria também o banco).
No @BeforeClass eu também populo o banco (que está vazio) com os dados necessários para os testes
Eu faria algo assim no seu teste:
Observação: É apenas uma dica de como utilizo. Não sei se a maneira mais adequada, mas no meu caso tem funcionado.
This message was edited 2 times. Last update was at 26/02/2011 11:46:54
|
Rafael Rodrigues Viana
Estudando Java e Flex
Blog: http://www.cauirs.com.br/rafael/
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2011 12:36:50
|
LPJava
GUJ Hacker
Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline
|
pois eh eu tb fiz assim já, e nao sabia se estava fazendo de forma adequada.
|
Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2011 13:24:04
|
esmiralha
JavaEvangelist
Membro desde: 19/07/2006 09:04:42
Mensagens: 402
Offline
|
Se o teste toca o banco de dados, ele não é um teste unitário. Eu mockaria o mẽtodo getSession e retornaria um MockSession.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2011 23:17:58
|
LPJava
GUJ Hacker
Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline
|
opa! pessoal,
achei a solucao usando mockito, hehe dando uma lida na documentacao http://docs.mockito.googlecode.com/hg/org/mockito/Mockito.html#when%28T%29 eu vi esse cara aqui:
o qual chama o metodo real e mantendo o lance da mock. nao pensei duas vezes para testar e agora está cobrindo.
Vejam como ficou e agora está chamando o metodo real usando uma mock.
Bem, nao sei se há outra forma melhor de fazer isso, mas acho que já atende.
alguem já tinha implementado assim?
abracos,
|
| Nome do arquivo |
mockrealmethoddao.png |
Download
|
| Descrição |
|
| Tamanho |
57 Kbytes
|
| Baixado: |
45 vez(es) |
|
Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
|
|
|
 |
|
|