Préambule
Je sais que cette question semble avoir des réponses ici:
J'ai presque le même problème que/ Le testeur ReSharper 10 n'a pas trouvé AppSettings référencé depuis un fichier externe .
Question
J'ai inclus un fichier custom.xml
avec des paramètres personnalisés et je dois les lire à partir de mon test unitaire. Mais mon dossier n'est pas trouvé.
J'ai regardé, où le processus s'exécute, et inclus cette ligne
var curdir = Directory.GetCurrentDirectory();
J'ai donc découvert que curdir
est C:\\Users\\MYUSER\\AppData\\Local\\JetBrains\\Installations\\ReSharperPlatformVs11_000
Maintenant, il est évident que mon dossier est introuvable. Après avoir googlé, il a trouvé les questions susmentionnées. Mais aucune de ces solutions ne fonctionne pour moi.
Ce sont mes paramètres:
Configuration de Visual Studio
Microsoft Visual Studio Ultimate 2012
Version 11.0.61219.00 Mise à jour 5
Microsoft .NET Framework
Version 4.6.01038
Version Installierte: Ultimate
Vous ne répertoriez aucune version de NUnit installée, mais vous avez étiqueté cette 'unité', je vais donc supposer que vous l'utilisez! De plus, je suppose que NUnit> = 3.0 ... ignore ceci sinon. :-)
NUnit 3.0 a arrêté de changer le répertoire en cours. Quoi qu’il en soit, c’est une mauvaise idée de le faire. C’est une vraiment mauvaise idée avec la version 3.0, lorsque plusieurs assemblys de différents répertoires peuvent être exécutés simultanément.
Par conséquent, en supposant qu'il s'agisse toujours d'un problème NUnit, au lieu d'utiliser un chemin relatif, utilisez TestContext.CurrentContext.TestDirectory comme emplacement de votre fichier.
essaye ça:
Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
La chose qui m'a aidé avec ce problème - je viens de désactiver le support de NUnit 2.x dans les paramètres ReSharper (ReSharper -> Options ... -> Outils -> Test d'unité -> NUnit).
J'ai également désactivé le support NUnit 2.x et même s'il n'a évidemment rien à voir avec le problème, il l'a résolu (j'ai ReSharper 2017.3.20180201.111630)