Zombando de uma classe vs. zombando de sua interface
Para um teste de unidade, preciso zombar de várias dependências. Uma das dependências é uma classe que implementa uma interface:
public class DataAccessImpl implements DataAccess {
...
}
Preciso configurar um objeto simulado dessa classe que retorne alguns valores especificados quando fornecidos com alguns parâmetros especificado
gora, o que não tenho certeza é se é melhor zombar da interface ou da classe, ou seja,
DataAccess client = mock(DataAccess.class);
vs.
DataAccess client = mock(DataAccessImpl.class);
Faz alguma diferença em relação aos testes? Qual seria a abordagem preferida?