Модульное тестирование обработчиков событий в SharePoint?

Это вообще возможно?

До сих пор я обнаружил, что мы можем купить TypeMock для макета объектов SharePoint, а затем использовать любую свободную среду Mocking ( Moq ?) Для выполнения остальной части работы.

Что вы думаете?

Похоже, что без TypeMock невозможно выполнить модульное тестирование в SharePoint.

Чтобы правильно протестировать наши события, нам нужно присвоить событию SPItemEventProperties. Класс запечатан и имеет внутренний конструктор, который требует SPSite.

Если я использую SPSite, я могу создать экземпляр класса и указать правильные значения для проверки моего события. Тем не менее, я хочу удалить эту зависимость и швы TypeMock, чтобы быть единственным, кто может это сделать.

Любой способ обойти это?

11.12.2008 23:12:28
3 ОТВЕТА
РЕШЕНИЕ

Я еще не использовал его, но мне не терпится попробовать этот продукт: TypeMock for SharePoint

Видео введение здесь на странице мультимедиа (# 5)

Вот хороший маленький обзор хитрости с модульным тестированием SharePoint

JT

3
22.12.2008 18:20:30
В качестве комментария я попробовал TypeMock, и он прекрасно работает. Но я использую только Isolator для Sharepoint и использую Moq для фактической насмешки. Отличный продукт в целом.
Maxime Rouiller 7.01.2009 21:51:18

Там нет действительно хороший способ сделать это. Вы можете попытаться разделить части SPItemEventProperties, которые вы фактически используете, на отдельные параметры, чтобы ваш обработчик событий взял SPItemEventProperties и просто вызвал фактический обработчик события, передав ему элемент и сеть. В этот момент просто выполните модульное тестирование фактического обработчика события (передав ему соответствующие фиктивные объекты для определенных параметров).

1
18.12.2008 20:00:35

В настоящее время Ismoator является единственной платформой, которая может подделывать или издеваться над SharePoint . Это потому, что он может создавать фиктивные объекты, которые имеют частные конструкторы или запечатаны, как большинство объектов SharePoint.

0
8.05.2009 14:59:09