Одна из самых больших проблем, которая в настоящее время удерживает меня от полного погружения в модульное тестирование, заключается в том, что действительно большой процент кода, который я пишу, сильно зависит от сторонних объектов COM из разных источников, которые также имеют тенденцию взаимодействовать друг с другом (Я пишу надстройки для Microsoft Office, используя несколько вспомогательных библиотек, если вам нужно знать).
Я знаю, что мне, вероятно, следует использовать фиктивные объекты, но как именно я поступил бы с этим в этом случае? Я вижу, что это относительно легко, когда мне просто нужно передать ссылку на уже существующий объект, но некоторые из моих подпрограмм сами создают экземпляры внешних COM-объектов, а затем иногда передают их другому внешнему COM-объекту из другой библиотеки.
Какой подход наилучшей практики здесь? Должен ли я иметь свой тестовый код временно изменить регистрационную информацию COM в реестре, чтобы протестированный код вместо этого создал экземпляр одного из моих фиктивных объектов? Должен ли я вводить измененные модули библиотеки типов? Какие еще есть подходы?
Я был бы особенно благодарен за примеры или инструменты для Delphi, но также был бы рад более общим советам и объяснениям более высокого уровня.
Спасибо
Оливер