[RESOLVIDO] Como mockar objeto de EntityManager?

Tenho essa classe para mockar um DAO:

public class ClientesRepositoryTest extends TestCase {

private ClientesRepository clientesRepository;

@Mock
private Cliente cliente;

@Mock
private EntityManager manager;

@Before
public void init() {
	MockitoAnnotations.initMocks(this);
	
	manager = Mockito.mock(EntityManager.class);
	
	clientesRepository = new ClientesRepository(manager);
}

@Test
public void testBuscarPorId() {
	
	Mockito.when(manager.find(Cliente.class, new Long(1))).thenReturn(cliente);
	
	Cliente clientePesquisado = clientesRepository.buscarPorId(new Long(1));
	
	assertEquals(Long.valueOf(1), clientePesquisado.getId());
	
}
}

Mas justamente o objeto manager que estou mockando só vem null…como posso resolver isso?

Seria mais prático você fazer testes de integração do que esse teste de mentirinha mockando tudo. Nao tem nada de importante sendo testado ai.

Nao vem ao caso na sua questão, mas o ideal mesmo para o usuário são os testes de aceitação/funcionais.

1 curtida