Essai erreurs avec MSTest dans VS2010
Quand je lance mes Tests d'Unité, tous les tests passent, mais au lieu de "Test réussi" ou quel que soit le message de succès, j'obtiens un "Essai erreur" dans le petit bar qui me dit combien de mes tests à passer, même si tous mes tests passés.
Quand je clique sur le texte, je suis redirigé vers une page qui me dit que les deux choses qui s'est passé:
Avertissement: des conflits au cours du test de déploiement: déploiement de l'article "[...] \Booking.Web.dll " directement ou indirectement référencé par le conteneur de test [...]\Booking.Web.Tests.dll ne peut pas être déployé à 'Booking.Web.dll" parce que, sinon, le fichier '[...]\Booking.Web.dll' l'emporterait sur le déploiement de l'élément '[...]\Booking.Web.dll "directement ou indirectement référencé par " [...] \Booking.Web.Tests.dll'
Erreur: Impossible d'initialiser l'ASP.NET projet de la Réservation.Web'
Exception a été levée: Le site web peut ne pas être configuré correctement; ASP.NET proccess de l'information a échoué. Demandant 'http://localhost:54131/VSEnterpriseHelper.axd' a renvoyé une erreur: Le serveur distant a retourné une erreur: (500) Erreur Interne du Serveur.
Je ne comprends pas la moitié de ce que c'est de se plaindre. Comment puis-je me débarrasser de ces erreurs?
(Et de référence: de la Réservation.Le Web est un ASP.NET MVC 2 du projet de la Réservation.Web.Les Tests est un projet de Test, [...] est le chemin d'accès local complet pour les projets dans mon environnement, dans la plupart des cas ci-dessus pour le /bin/debug/dossier à l'intérieur de la Réservation.Projet Web)
Mise à jour: Comme indiqué, j'ai cherché plus d'infos dans l'Observateur d'Événements. Voici ce que j'ai trouvé:
3008
Une erreur de configuration s'est produite.
5/8/2010 2:26:15 AM
5/8/2010 12:26:15 AM
4ffbe9180c3d4c02adb9ac4d61dd0928
1
1
0
4484bbf4-1-129177519750954331
Plein
/
D:\...\Réservation.Web\
AASLOEG1876
WebDev.WebServer40.EXE
Aasloeg\Tomas
ConfigurationErrorsException
Impossible de charger le fichier ou l'assembly 'Ninject.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=79764a4ef1548af1' ou une de ses dépendances. Nom fort de signature n'a pas pu être vérifiée. L'assemblée peut avoir été altérée, ou il était en retard signé mais n'a pas entièrement signé avec la clé privée appropriée. (Exception de HRESULT: 0x80131045)
Système.Web.La Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
Système.Web.La Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBindirectory ()
Système.Web.La Configuration.CompilationSection.LoadAssembly(AssemblyInfo ia)
Système.Web.La Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)
...trace de pile dans absurdum.
OK... Donc, comment dois-je refactoriser pour sortir de cette situation?
Refferencing ASP.NET projet MVC dans un test unitaire est une pratique courante. Sinon, comment voulez-vous les actions de test de la manette?
OriginalL'auteur Tomas Aschan | 2010-05-03
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, vous avez de la Couverture de Code est activé. Vous pouvez lire ici à ce sujet. Donc, il n'y a pas de problèmes avec les Tests Unitaires. C'est la couverture de code de problème.
Deuxième chose - cet avertissement est ok - jamais l'esprit à ce sujet.
Troisième chose à cette erreur - c'est la clé du problème.
Il peut y avoir différents problèmes - plus commune est que vous devriez refference plus assemblages. Pour savoir exactement ce que devrait être chargé, vous devez aller à De L'Observateur D'Événements et regardez dans Journaux Windows->Application
Je trouve une erreur avec Ninject.Web.Mvc (pour qui j'ai téléchargé la source et construit contre Ninject 2 et ASP.NET MVC 2 dll de moi-même...) mais je n'ai pas été capable de se débarrasser de l'erreur, puisque je ne peux pas comprendre pourquoi le chargement de la dll ne fonctionne pas correctement. Je vais mettre à jour mon post avec les infos que j'ai trouver dans l'Observateur d'Événements. Aussi, comme vous le dites, j'ai de la couverture de code permis - mais quelle est la partie de ce que vous dites est affectée par qui?
Eh bien, vous pouvez désactiver la couverture de code. Mais si vous en avez besoin, vous devriez comprendre pourquoi ce problème apears. Effectivement, si vous avez construit vous-même avez-vous signé? 'Ninject.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=79764a4ef1548af1 - signifie qu'il donne pour la signature de l'assemblée. Je comprends - cela ressemble vraiment étrange que vous pouvez exécuter des sites web, mais la couverture de code pour une raison que personne ne peut comprendre nécessite plus d'assemblées pour être inclus dans l'application.
Je crois que je n'ai pas signé - le devrais-je? Comment puis-je? Ou pourrais-je juste attendre jusqu'à ce Ninject lance une nouvelle version de ciblage .Net 4 et ce d'une manière auto-magiquement?
Ok, j'ai téléchargé Ninject 2 et compilé Ninject.Web.Mvc et de l'ajouter à l'échantillon projet mvc, tourné codecoverage et reproduit votre erreur. Pour se débarrasser de lui, vous devez effectuer les opérations suivantes. Désactiver la signature de Ninject.Web.Mvc. Vous pouvez le faire dans Project->Properies->onglet Signature et décochez Signe de L'Assemblée case. Reconstruire. Remplacer signé assemblée avec des unsigned. L'erreur devrait disparaître.
OriginalL'auteur er-v
J'ai eu le même message d'erreur liées à MS-Test se plaindre que d'une DLL pourrait "remplacer le déploiement de l'élément de blah.dll".
Ce qui se passait parce que j'ai été en cours d'exécution MS-Test pour plusieurs DLL à la fois comme:
Lorsque MS-Test a été l'exécution de cette, il a essayé de prendre la sortie de la DLL à partir de tests et de les placer dans /Out répertoire de l'exécution des tests. Dans mon cas, Tests.svcs.dll et Tests.core.dll tous deux référencés de la même assemblée (Core.dll) et donc il a essayé de la copier DLL dans le même endroit deux fois (ce qui provoque le message d'avertissement).
Pour résoudre ce problème, j'ai séparé le test s'exécute pour chaque assemblée qui a donné à chaque essai, il est propre /Out dossier pour la sortie de la DLL
Ce CI êtes-vous d'utiliser? Je lance tous mes tests dans Hudson/Jenkins et le plugin que nous utilisons à l'affichage des résultats est capable de fusionner plusieurs fichiers de résultats. Nous venons de lui donner un caractère générique: /TestResults/*.trx
Je suis à l'aide de Jenkins. Quel plugin utilisez-vous pour traiter le trx résultats?
Nous sommes à l'aide de la MSTest Plugin de 0,7. Pour une capture d'écran de configuration, vous pouvez cliquez ici.
OriginalL'auteur Jeffrey Harrington