Для unit test мне нужно высмеять несколько зависимостей. Одна из зависимостей - это класс, реализующий интерфейс:
public class DataAccessImpl implements DataAccess {
...
}
Мне нужно настроить макет объекта этого класса, который возвращает некоторые заданные значения при наличии определенных параметров.
Теперь, что я не уверен в том, лучше ли издеваться над интерфейсом или классом, т.е.
DataAccess client = mock(DataAccess.class);
против.
DataAccess client = mock(DataAccessImpl.class);
Есть ли разница в тестировании? Каким будет предпочтительный подход?