Vraptor + mockitto  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
cleitonmoura18
Thread.start()

Membro desde: 13/07/2011 09:30:29
Mensagens: 36
Offline

Galera é o seguinte quando eu vou testar o controller com o mockito ele não consegui salvar os dados no Banco.
criei as classes com vraptor Scaffold.
quando faço manualmente dah certo mas os testes não.
quando chamo um controller pra salvar um usuario ele não chama a Classe repositorio, mas segui todos os passos do metodo.
olha ai meu codigo.
Estou usando Hibernate, mas não fiz nenhuma classe pra criar SessionFactory.acho que o scaffold jah faz isto.
[Email] [MSN]
renanreismartins
GUJ Ranger
[Avatar]

Membro desde: 19/09/2007 15:19:38
Mensagens: 807
Localização: São Paulo - SP
Offline

bom dia cleiton

realmente dessa maneira os dados nao vao ser persistidos. pois vc esta mockando seu repositorio.

Caso seu teste seja de unidade então vc está fazendo da maneira correta, ou seja, isolando seu codigo.

Segue uma explicação legal sobre mocks e qdo usa-los

http://improveit.com.br/xp/praticas/tdd/mock_objects

abrasss

http://renanreismartins.blogspot.com/ - Para apaixonados por desenvolvimento de software
[WWW] [MSN]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline

Como o Renan já falou, se você mockou o repository ele não vai fazer nada mesmo.

o teste de controller talvez não seja o melhor lugar para testar se o objeto vai pro banco

--
Caelum
www.caelum.com.br

cleitonmoura18
Thread.start()

Membro desde: 13/07/2011 09:30:29
Mensagens: 36
Offline

Vc tem algum exemplo jah feito pra passar?
se não for pedir demais.
[Email] [MSN]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline

http://github.com/caelum/calopsita

dá uma olhada nos testes dos controllers

--
Caelum
www.caelum.com.br

Nykolas Lima
Virtual Machine Man
[Avatar]

Membro desde: 07/07/2008 13:10:41
Mensagens: 606
Offline

Lucas Cavalcanti wrote:http://github.com/caelum/calopsita

dá uma olhada nos testes dos controllers


Lucas, como você faz para executar seus testes utilizando o hibernate.properties específico de testes, com a base de dados na memória?

Blog: http://nykolaslima.wordpress.com
[WWW]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline

só criar a SessionFactory apontando pra esse arquivo de properties (ou xml) de testes.

--
Caelum
www.caelum.com.br

Nykolas Lima
Virtual Machine Man
[Avatar]

Membro desde: 07/07/2008 13:10:41
Mensagens: 606
Offline

Lucas Cavalcanti wrote:só criar a SessionFactory apontando pra esse arquivo de properties (ou xml) de testes.


Mas isso você faz nos @Before dos seus testes?
Tenho dúvida de como fazer para que ao rodar os testes ele pegue automaticamente que o properties deve ser o de testes.

This message was edited 1 time. Last update was at 07/02/2012 10:04:05


Blog: http://nykolaslima.wordpress.com
[WWW]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline

ainda no link do calopsita:

https://github.com/caelum/calopsita/blob/master/src/test/java/br/com/caelum/calopsita/persistence/dao/UserDaoTest.java

extends:

https://github.com/caelum/calopsita/blob/master/src/test/java/br/com/caelum/calopsita/persistence/dao/AbstractDaoTest.java

no método prepare vc pode forçar um properties de teste.

no caso do calopsita a gente tem um hibernate.cfg.xml no src/test/resources, que é pego ao invés do main.

--
Caelum
www.caelum.com.br

Nykolas Lima
Virtual Machine Man
[Avatar]

Membro desde: 07/07/2008 13:10:41
Mensagens: 606
Offline

Lucas Cavalcanti wrote:ainda no link do calopsita:

https://github.com/caelum/calopsita/blob/master/src/test/java/br/com/caelum/calopsita/persistence/dao/UserDaoTest.java

extends:

https://github.com/caelum/calopsita/blob/master/src/test/java/br/com/caelum/calopsita/persistence/dao/AbstractDaoTest.java

no método prepare vc pode forçar um properties de teste.

no caso do calopsita a gente tem um hibernate.cfg.xml no src/test/resources, que é pego ao invés do main.


Muito obrigado Lucas, solução bem simples e eu não tinha me tocado...

abraços

Blog: http://nykolaslima.wordpress.com
[WWW]
 
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Ir para:   
Powered by JForum 2.1.8 © JForum Team