Aide à la configuration MSpec
-
03-10-2019 - |
Question
rig: win7 64bit, VS2010, mvc v2, TestDriven.Net 3,0, 5,0 Reshaper, MSpec 0,3
i a récemment commencé un nouveau projet et que vous souhaitez utiliser MSpec.
(1) copié Machine.Specifications.ReSharperRunner.5.0.dll et Machine.Specifications.dll à JetBrains \ ReSharper \ 5.0 \ bin \ plugiciels les Machine.Specifications (2) copiés Machine.Specifications.TDNetRunner.dll à TestDriven. NET 3 \ Machine.Specifications
lorsque je tente d'exécuter le test que je reçois cette erreur: System.IO.FileNotFoundException: Impossible de charger le fichier ou l'assembly « Machine.Specifications
Je ne sais pas où cette erreur vient.
Menu VS2010 -> ReSharper -> Plugins montre le plugin MSpec. VS2010 Menu -> ReSharper -> Options -> Outils -> Unité de test montre également le fournisseur de tests unitaires MSpec mais il ne montre pas de détails quand je clique dessus et le fait que MSTest nUnit
.i trouvé ceci: http://marcinobel.com/index.php/ MSpec-BDD-installateur / qui ne fonctionne pas. J'ai aussi essayé ceci: http: / /eduncan911.com/blog/registering-mspec-runners-for-testdriven-net-on-windows-x64.aspx qui a également ne fonctionnait pas. Maintenant, je crains que je visse mon registre.
toute orientation?
pleine erreur:
Test 'F: Tests.OTBRadio.Tasks.AlbumTasksSpecs.when_the_album_tasks_are_asked_to_get_all.context' a échoué: Impossible fichier de chargement ou de montage 'Machine.Specifications, Version = 0.3.0.0, Culture = neutral, PublicKeyToken = null' ou un de ses dépendances. Le système ne peut pas trouver le fichier spécifié. System.IO.FileNotFoundException: Impossible de charger le fichier ou l'assemblage 'Machine.Specifications, Version = 0.3.0.0, Culture = neutral, PublicKeyToken = null' ou une de ses dépendances. Le système ne peut pas trouver le fichier spécifié. Nom du fichier: 'Machine.Specifications, Version = 0.3.0.0, Culture = neutral, PublicKeyToken = null' à Machine.Specifications.TDNetRunner.SpecificationRunner.RunMember (ITestListener testListener, l'assemblage Assemblée, membre MemberInfo) à TestDriven.TestRunner.AdaptorTestRunner.Run (ITestListener testListener, ITraceListener TraceListener, String AssemblyPath, String TestPath) à TestDriven.TestRunner.ThreadTestRunner.Runner.Run ()
La solution
Vous n'avez pas besoin de n'importe où copie Machine.Specifications.TDNetRunner.dll
, il suffit de placer dans le répertoire de votre projet tools
ou lib
, à savoir où vous conservez les dépendances de votre projet. Le projet contenant les essais MSpec fera référence à la Machine.Specifications.dll
de ce répertoire. TestDriven.Net> = 2.24 sera en mesure de prendre le coureur de TD.Net aussi longtemps que Machine.Specifications.dll.tdnet
est situé dans le même répertoire. Un exemple que j'aime organiser mon répertoire tools
se trouve ici .
Votre répertoire plugin ReSharper 5.0 me semble bon. Cependant, j'ai eu les utilisateurs de rapports que lorsque vous décompressez le fichier zip MSpec (que vous avez téléchargé probablement de http: // TeamCity. codebetter.com ) avec l'Explorateur de Windows marques les DLL extraites comme le téléchargement sur Internet.
Pouvez-vous s'il vous plaît assurez-vous que Windows ne bloque pas les DLL dans <ReSharper 5.0>\bin\plugins
en ouvrant les propriétés de chaque DLL et en cliquant sur « Débloquer » sur la première page de propriétés. Dans le cas où le bouton « Débloquer » n'apparaît pas, vos fichiers sont corrects. Dans ce cas, s'il vous plaît poster ici et nous verrons comment nous pouvons votre travail plug-in MSpec.
Autres conseils
Après avoir changé toute dll, vous devriez nettoyer projet -. Si vous n'avez pas d'erreurs dans le projet frais
J'ai aussi eu le même problème et je l'ai fixé par le clonage d'une copie de MSpec hors Github (https://github.com/machine/machine.specifications).
Ensuite, dans la "source" dossier que je courais un des fichiers de traitement par lots (dans mon cas 4.0 build-debug.cmd) qui a créé "Machine.Specifications.dll" dans "xxx \ Source \ build \ Debug".
Je retire les références à la dll « vieux », nettoyé mon projet, copié sur l'ancien dll avec le nouveau dll j'ai obtenu à l'étape précédente, reconstruit et qui a fait l'affaire.