ShimSPWeb().LocaleGet недоступен?

Я начал изучать новую функцию в VisualStudio 2012, где вы можете добавить поддельную сборку DLL для модульного тестирования. Я работаю с SharePoint 2010, и все мы сейчас испытываем боль в модульном тестировании кода, который зависит от API SharePoint.

Я добавил поддельную сборку для Microsoft.SharePoint, и она работала нормально, но я пришел к точке, где мне нужно переопределить метод SPWeb.Locale, Я думал, что это будет легко. Я думал, что будет такой метод, как ShimSPWeb.LocaleGet но нет.

Это единственные варианты, которые у меня есть в отношении Locale на моем ShimSPWeb

Короче говоря: должно быть shimWeb.LocaleGet имеется в наличии.

1 ответ

Решение

Я понял. Вы можете добавить диагностику в файл настроек *.fakes. Это позволяет отлаживать вывод при генерации поддельной сборки.

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/" Diagnostic="true">

Когда я сделал это, я получил этот вывод:

unstubbable: метод является абстрактным и не может быть задан, тип System.Globalization.CultureInfo недоступен в целевой версии платформы

SharePoint 2010 предназначен для.Net версии 3.5. Мой модульный тест был настроен на целевую платформу.Net 4.0. Я изменил цель моего проекта модульного тестирования на 3.5, восстановил фальшивую сборку и вуаля! Это сработало!

Другие вопросы по тегам