Это статическое свойство, а Moq предназначено для методов или классов экземпляра Moq, которые можно издеваться через наследование. Другими словами, Moq не поможет вам здесь.
Для издевательской статики я пользуюсь инструментом Moles, который является бесплатным. Существуют и другие средства изоляции рамки, такие как Typemock, которые тоже могут это сделать, хотя я считаю, что это платные инструменты.
Когда речь заходит о статике и тестировании, другой вариант заключается в том, чтобы создать статическое состояние самостоятельно, хотя это часто может быть проблематичным (как, я думаю, это будет в вашем случае).
И, наконец, если рамки изоляции не являются опцией, и вы привержены этому подходу, фасад, упомянутый Джошуа, - это хороший подход или любой подход в целом, когда вы кодируете код клиента из бизнес-логику, которую вы используете для тестирования.
Это концептуально то, что я тоже делаю. Тем не менее, я использую Castle DictionaryAdapter (часть [Castle] (http://www.castleproject.org) Core), которая генерирует реализацию интерфейса «на лету». Я писал об этом некоторое время назад: http://blog.andreloker.de/post/2008/09/05/Getting-rid-of-strings-(3)-take-your-app-settings-to- the-next-level.aspx (прокрутите вниз до «A Solution», чтобы увидеть, как я использую Castle DictionaryAdapter) –
Это отличная статья, и это хорошая статья. Я должен буду помнить об этом в будущем. –
Я мог бы добавить - в зависимости от вашего пуризма и интерпретаций - это может быть вместо этого или также называться прокси-сервером делегата или адаптером. –