Это вообще возможно?
Пока что я обнаружил, что мы можем купить TypeMock, чтобы имитировать объекты SharePoint, а затем использовать любую бесплатную платформу Mocking (Moq?) Для выполнения остальной работы.
Как вы думаете?
Кажется, что без TypeMock невозможно выполнить модульное тестирование в SharePoint.
Чтобы правильно протестировать наши события, нам нужно присвоить событию SPItemEventProperties. Класс запечатан и имеет внутренний конструктор, для которого требуется SPSite.
Если я использую SPSite, я могу создать экземпляр класса и указать правильные значения для проверки моего события. Однако я хочу удалить эту зависимость и швы TypeMock, чтобы быть единственным, кто может это сделать.
Каким-нибудь образом обойти это?





Нет действительно хорошего способа сделать это. Вы можете попробовать разделить части SPItemEventProperties, которые вы фактически используете, на отдельные параметры, чтобы ваш обработчик событий взял SPItemEventProperties и просто вызвал фактический обработчик событий, передав ему элемент и сеть. На этом этапе просто выполните модульное тестирование фактического обработчика событий (передав ему соответствующие имитирующие объекты для определенных параметров).
Я еще не использовал его, но очень хочу попробовать этот продукт: TypeMock для SharePoint
Видео-введение здесь, на мультимедийная страница (# 5)
Вот хороший небольшой обзор хитрость с модульным тестированием SharePoint
jt
Currenlty typemock Isolator - единственный фреймворк, который может подделывать имитировать SharePoint. Это потому, что он может создавать фиктивные объекты, которые имеют частные конструкторы или запечатаны, как и большинство объектов SharePoint.
В качестве комментария я пробовал TypeMock, и он отлично работает. Но я использую Isolator только для Sharepoint и использую Moq для насмешек. Отличный продукт в целом.