Если вы не использовали фальшивые фреймворки (например, ezmock), я настоятельно рекомендую вам попробовать.
Я могу ошибаться, и это может вам совсем не помочь, но из того, что я могу почерпнуть изВ вашем посте кажется возможным, что насмешка может быть именно тем, что вы ищете (хотя я признаю, что это не имеет ничего общего с тем, что вы просили .
Редактировать: в ответ на комментарий.
Нет, современные фальшивые фреймворки позволяют вам создавать «фальшивый» экземпляр любого класса из «ничего» и передавать его, как если бы он был экземпляром класса. Ему не нужен интерфейс,это может быть любой класс. Также могут быть написаны методы для возврата последовательности значений из простого всегда возврата «7» в «При вызове с аргументом arg = 7 возвращаем 5 первого вызова, 6 второго и 7 третьего».
Обычно он используется вместе со средами тестирования, чтобы дать ссылочный класс для перехода в класс, который вы тестируете.
Это может быть не совсем то, что вы ищете, bНо вы упомянули модульное тестирование и инициализацию переменных вручную, так что казалось, что это может пригодиться.