[RESOLVIDO] jMock - Herança - Interface

Olá Pessoal, boa tarde!

Estou tentando testar uma classe minha com JUnit, e estou usando o JMock para ter um mock da seguinte classe

public class FreteService extends Service<Frete> {

	public FreteService(FreteRepository repository) {
		super(repository);
	}

	/* outros métodos */
}

FreteRepository é uma interface.

Comecei o teste da seguinte maneira

public class FreteServiceTest {

	private FreteService service;
	private Mockery mockery = new Mockery();
	
	@Before
	public void setUp() throws Exception {
		this.service = mockery.mock(FreteService.class);
	}
	
	@Test
	public void testaRegraFR() throws CarregarException, AtualizarException{
		assertTrue(true);
	}
}

Quando eu rodo o teste, era pra ficar tudo verde, certo? Mas ele falha indicando: java.lang.IllegalArgumentException: br.com.nextrans.erp.services.FreteService is not an interface.

Consultei a documentação no site do JMock, mas não consegui achar ainda a solução.

O que estou fazendo de errado?

Voce so pode mockar uma interface.

Mas veja, ha um problema conceitual ai, se voce vai testar FreteService por que voce vai mockar FreteService. Voce tem que testar a implementacao real da sua classe. Voce vai mockar as classes que dao apoio a ela, como FreteRepository, por exemplo, para ver como FreteService vai se comportar se freteRepositorio.buscarTodosOsFretesDoCliente(cliente) nao encontrar nenhum frete, ou se encontrar fretes para cidades que nao estao mais sendo atendidas, ou se encontrar fretes futuros e etc…

Em resumo, se voce vai testar FreteService de nada adianta voce mockar FreteService.

YvGa, tem razão cara. Me faltou essa visão.

Obrigado!