Определение
Mock-объект представляет собой конкретную фиктивную реализацию интерфейса, предназначенную исключительно для тестирования взаимодействия и относительно которого высказывается утверждение.
Что же кривой реализации, то все может быть криво реализовано, может мок как раз некриво запилен будет
Я имел ввиду связи между объектами, зависимости и связность/сцепленность кода
Криво написанный кусок кода в чистой архитектуре исправить можно, а вот кривую архитектуру исправить дороже