Mockito

6 respostas
fabioebner

Amigos, alguem sabe um lugar para eu achar um bom material sobre o mockito, principalmente ele junto com o spring e hibernate

tentei pelo site mas o modelo principal nao funciona

List mockedList = mock(List.class);

Quero mockear o meu acesso ao banco

obrigado

6 Respostas

d34d_d3v1l

http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html

fabioebner

amigo, tira uma duvida minha, eu estou comecando agora com essa parte de Testes, com o mockito eu consigo simular um acesso ao meu banco correto? mas e se por exemplo eu estou fazendo um sistema de troca de mensagens aonde um usuario pergunta uma coisa para outro e o outro responde, eu preciso validar se quando eu mandei a msg com o usuario X o Y recebeu corretamente, e tambem se quando o Usuario X mandou uma mensagem o Y respondeu, eu tenho que verificar se a resposta chega corretamente no X correto? todo esse processo (tabela com varias FK, outras tabelas e tudo mais) eu consigo simular no mockito?

obrigado

d34d_d3v1l

fabioebner:
amigo, tira uma duvida minha, eu estou comecando agora com essa parte de Testes, com o mockito eu consigo simular um acesso ao meu banco correto? mas e se por exemplo eu estou fazendo um sistema de troca de mensagens aonde um usuario pergunta uma coisa para outro e o outro responde, eu preciso validar se quando eu mandei a msg com o usuario X o Y recebeu corretamente, e tambem se quando o Usuario X mandou uma mensagem o Y respondeu, eu tenho que verificar se a resposta chega corretamente no X correto? todo esse processo (tabela com varias FK, outras tabelas e tudo mais) eu consigo simular no mockito?

obrigado

cara eu uso o mockito pra simular regras de negocios bem especificas e logicas.
vamos dizer que eu tenho um método que vai dizer qual a ordem de espera
de uma fila no supermercado por exemplo.
Ai na base de dados eu só possui o timestamp da hora que o cara chegou.

Então no java, tenho que fazer na mão esse tipo de testes… Os horarios que estão lá
para mim nao importam. O que importa é a logica funcionar.

Então eu mocko os metodos do meu dao para retornar alguns Date específicos…

Nãos ei se o q eu falei te ajuda… espero que sim!
Abraços

d34d_d3v1l

PS: cara!@%$ vc é membro desde 2005 !!
Quem dera eu ter começado o interesse por Java naquela epoca.
kkk

abraços boa sorte

marioareias

fabioebner:
amigo, tira uma duvida minha, eu estou comecando agora com essa parte de Testes, com o mockito eu consigo simular um acesso ao meu banco correto? mas e se por exemplo eu estou fazendo um sistema de troca de mensagens aonde um usuario pergunta uma coisa para outro e o outro responde, eu preciso validar se quando eu mandei a msg com o usuario X o Y recebeu corretamente, e tambem se quando o Usuario X mandou uma mensagem o Y respondeu, eu tenho que verificar se a resposta chega corretamente no X correto? todo esse processo (tabela com varias FK, outras tabelas e tudo mais) eu consigo simular no mockito?

obrigado

Você até tem como mockar os dados das tabelas com DBUnit e talz. Mas dá um trabalhão e não vale a pena pra fazer teste unitário. Você mockas as dependências apenas. Por exemplo, se você tem uma classe Servico que tem como dependências um DAO, você pode mockar uma chamada ao banco de dados com id igual a 1, para retornar o que você quer. Tem um exemplo de um código abaixo, mas o ideal seria estudar a API e procurar por exemplos.

public class ServicoTest {

     private DAO dao;
     private Servico servico;  

     @Before
     public void setUp(){
          dao = mock(Dao.class);
          servico = new Servico(dao);
     }


     @Test
     public void testMetodo(){
          when(dao.getUsuario(1)).thenReturn(new Usuario(1));
          Usuario usuario = servico.getUsuario(1); 
          assertEquals(new Usuario(1), usuario);
     }

}
d34d_d3v1l

É isso aí cara!
Bom exemplo! :wink:

Criado 25 de novembro de 2012
Ultima resposta 30 de nov. de 2012
Respostas 6
Participantes 3