0

J'ai commencé à regarder dans la nouvelle fonctionnalité dans VisualStudio 2012 où vous pouvez ajouter un faux assemblage d'une DLL à des fins de tests unitaires. Je suis en train de travailler avec SharePoint 2010 et nous avons tous du mal maintenant à faire du code de test unitaire qui dépend de l'API SharePoint.ShimSPWeb(). LocaleGet non disponible?

J'ai ajouté un faux assemblage pour Microsoft.SharePoint et cela a bien fonctionné, mais j'en suis arrivé à un point où j'ai besoin de surcharger la méthode SPWeb.Locale. Je pensais que ce serait facile. Je pensais qu'il y aurait une méthode comme ShimSPWeb.LocaleGet mais il n'y a pas.

Voici les options que je Locale concernant sur mon ShimSPWeb

enter image description here

En bref: Il devrait y avoir un shimWeb.LocaleGet disponible.

Répondre

1

Je l'ai compris. Vous pouvez ajouter des diagnostics au fichier de paramètres * .fakes. Cela permet de déboguer la sortie lors de la génération de l'assemblage de faux.

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

Quand je l'ai fait, je suis arrivé cette sortie:

unstubbable: méthode est abstraite et ne peut pas être écrasa, le type System.Globalization.CultureInfo n'est pas disponible dans la cible version du framework

Cibles SharePoint 2010 .NET version 3.5. Mon test unitaire a été configuré pour cibler le framework .Net 4.0. J'ai changé la cible de mon projet d'essai d'unité à 3.5, régénéré le faux assemblage et voilà! Ça a marché!