2008-12-11 9 views
2

Est-ce encore possible?Unité de test des gestionnaires d'événements dans SharePoint?

Jusqu'ici, j'ai trouvé que nous pouvions acheter TypeMock pour simuler les objets SharePoint et ensuite utiliser n'importe quel framework de simulation gratuit (Moq?) Pour faire le reste du travail.

Qu'en pensez-vous?

Il semble que sans TypeMock, il soit impossible de faire un test unitaire dans SharePoint.

Pour tester correctement nos événements, nous devons attribuer un événement SPItemEventProperties à l'événement. La classe est scellée et possède un constructeur interne qui nécessite un SPSite.

Si j'utilise le SPSite, je peux instancier la classe et donner les valeurs appropriées pour tester mon événement. Cependant, je veux supprimer cette dépendance et les coutures TypeMock pour être le seul capable de le faire.

Quel est le problème?

Répondre

3

Je ne l'ai pas utilisé, mais je suis impatient d'essayer ce produit: TypeMock for SharePoint

Vidéo d'introduction ici sur la multimedia page (#5)

Voici un joli petit aperçu de la trickiness with unit testing SharePoint

jt

+0

En guise de commentaire, j'ai essayé TypeMock et ça marche merveilleusement bien. Mais je n'utilise que l'isolateur pour Sharepoint et j'utilise Moq pour les moqueries. Excellent produit dans l'ensemble. –

1

Il n'y a pas vraiment de bonne façon de le faire. Vous pouvez essayer de séparer les parties des propriétés SPItemEventProperties que vous utilisez réellement dans des paramètres distincts, de sorte que votre gestionnaire d'événements utilise SPItemEventProperties et n'appelle que le gestionnaire d'événements réel, en lui transmettant l'élément et le site Web. À ce stade, il suffit de tester le gestionnaire d'événements réel (en lui passant les objets fantaisie appropriés pour les paramètres particuliers).

0

Currenlty typemock Isolator est la seule structure qui peut simuler ou mock SharePoint. C'est parce qu'il peut créer des objets fantômes qui ont des constructeurs privés ou sont scellés, comme la plupart des objets SharePoint.

Questions connexes