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?

questionAnswers(10)

yourAnswerToTheQuestion