0

Quand j'essayer d'utiliser des tests unitaires (Microsoft framework de test intégré VS2010-) avec MVC3, tous les tests unitaires qui instancier un contrôleur jeter l'erreur suivante:instanciation contrôleurs dans les tests

Test method CleanTestMVC.Tests.Controllers.HomeControllerTest.About threw exception: 
System.Security.VerificationException: Operation could destabilize the runtime. 

Il semble ne pas être spécifique au projet: J'ai créé un nouveau projet MVC3 avec un modèle d'application Internet et les tests générés automatiquement par défaut pour ce projet et ceux-ci ne fonctionnent pas aussi bien. J'ai essayé de recréer le problème sur la machine d'un collègue (paramètres identiques) et sa machine semble créer les mêmes problèmes.

Aucune référence ou bibliothèque externe n'a été ajoutée pour ces projets, mais TypeMock est installé sur les deux ordinateurs, bien qu'il ne soit pas référencé ni désactivé dans les options (j'ai entendu des personnes accuser des problèmes similaires).

Quelqu'un pourrait-il suggérer quelque chose? Une solution de contournement et/ou une cause potentielle? C'est la première fois que j'utilise MVC3 avec des tests unitaires et personne n'a jamais travaillé avec MVC3 et c'est un projet "cobaye".

Merci pour l'aide! Après l'avoir essayé sur mon PC personnel, tout fonctionne même si j'ai également installé TypeMock (version d'évaluation).

Update 2: La trace de pile pour le problème: System.Web.Mvc.Controller..ctor() CleanTestMVC.Controllers.HomeController..ctor() CleanTestMVC.Tests.Controllers.HomeControllerTest.About()

+0

Je ne connais pas la réponse, mais je serais curieux de voir la pile d'appels là-dessus. –

+0

Je le ferai quand je serai au travail demain –

Répondre

2

Ok, à la fin, il s'est avéré que la société avait une ancienne version de Typemock installée, ce qui était incompatible avec MVC3. Désactiver Typemock à l'aide de Typemock-> Disable Typemock ne le désactivait pas complètement, il fallait le désactiver dans "tools/Addin Manager". Après la mise à jour de Typemock à la dernière version, le problème est résolu.

Questions connexes