8

Nous avons créé des tests unitaires silverlight en créant un projet de test unitaire plain vanilla .net, en supprimant toutes les références à l'exception du cadre unittestframework, puis en ajoutant des références aux assemblages SL dont nous avons besoin (système, System.Core, ...). Pour plus d'informations, consultez le blog this. Nous pouvons le faire, car nous adhérons au modèle MVVM et n'avons presque aucun code dans le codebehind. Nous ne testons pas la vue, mais la fonctionnalité dans toutes les couches derrière (VM-M essentiellement). Maintenant, cela nous permet de tester la logique Silverlight dans la construction de notre équipe tous les soirs. Cela fonctionne plutôt bien, jusqu'à ce que nous commencions à mixer des projets SL et des projets .NET normaux. Lorsque nous sélectionnons tous les tests unitaires SL et les exécutons, ils passent. La même chose vaut pour les tests unitaires .NET. Lorsque nous les exécutons tous en même temps, l'un ou l'autre ensemble échoue complètement. Le message que nous voyons indique: "Unit Test Adapter a lancé une exception: Impossible de charger un ou plusieurs des types demandés Récupérer la propriété LoaderExceptions pour plus d'informations ..". Je suppose que le problème est que ces deux ensembles de tests utilisent des assemblys système différents, mais je n'ai pas été en mesure d'identifier le problème.Intégration des tests unitaires Silverlight dans TFS Build

Est-ce que quelqu'un a déjà essayé? Acclamations, Phil

Répondre

1

Je suppose qu'il existe des problèmes avec plusieurs bibliothèques System, mscorlib, etc. dans le domaine de l'application qui confondent probablement l'environnement d'exécution de test.

Pouvez-vous séparer cela en plusieurs tests pour la construction TFS, OU peut-être créer un script msbuild avec du code pour appeler mstest.exe pour l'un d'eux et obtenir des résultats de cette façon?

+0

Merci Jeff, nous l'avons résolu en appelant deux fois mstest.exe dans notre script de construction (une fois pour les tests .NET, une fois pour les tests Silverlight). – Phil

1

Pourquoi ne pas utiliser deux définitions de build distinctes? Ils peuvent tous deux être déclenchés de la même manière ou en même temps. La seule différence est que vous avez des références aux projets SL dans un seul et les projets .NET dans un autre. Si vous ne voulez pas référencer les projets à partir de la définition de construction, vous pouvez créer quelques solutions à utiliser avec vos builds et référencer uniquement les projets SL dans une solution et les projets .Net dans une autre.

1

Vous pouvez également utiliser un projet de test Silverlight (créé à partir du modèle de projet Silverlight Toolkit) et utiliser this solution pour exécuter votre test Silverlight sur votre serveur de génération TFS.

Questions connexes