Основным преимуществом насмешек над интерфейсом, а не над классом, является то, что он проще - интерфейсы не могут быть запечатаны / окончательны, у них не может быть методов, которые вы не можете переопределить, и у них не может быть необычной семантики конструкции.Библиотеки-насмешки могут избавить от головной боли в классах-издевательствах, но они не могут компенсировать непроверяемый дизайн.
Основная причина насмешек над классами вместо интерфейсов: иногда у вас есть только класс.Если вы делаете свой собственный дизайн и реализацию, то вы можете сделать выбор в пользу того или другого.Если вы используете чужую библиотеку, вам нужно разобраться с тем, что она предоставляет.