Impossible d'exécuter des tests unitaires dans le dossier Bin c #
Contexte: J'ai une bibliothèque de classes tierce qui utilise typeof(myClassFactory).Assembly.Location
pour déterminer son emplacement, puis l'utilise pour charger une autre dll. Cela est interrompu car la deuxième dll n'est pas copiée dans l'emplacement temporaire. Par conséquent, je souhaite exécuter les tests unitaires à partir du dossier / bin. J'utilise Vs2017 pro avec xUnit et j'ai essayé le testeur et le resharper VS et les deux se comportent de la même manière.
Ce que j'ai essayé jusqu'à présent : j'ai essayé de créer un fichier test.runsettings et de définir les paramètres suivants:
<DeploymentEnabled>false</DeploymentEnabled>
comme suggéré ici Comment faire exécuter le test unitaire dans le dossier bin
cependant le code est toujours en cours d'exécution dans c:/users/myuserName/Local/Temp/{someGuid}/{someguid}/....etc
Question : Comment le faire fonctionner dans le répertoire / bin?
J'ai trouvé mon problème, c'était à voir avec xUnit n'utilisant pas le fichier .runsettings.
Pour résoudre ce problème, j'ai ajouté un nouveau fichier appelé xunit.runner.json
et ajouté le code suivant:
{ "shadowCopy": false }
J'ai ajouté ceci à la racine de la solution, puis je l'ai configuré pour être copié dans la sortie en cliquant avec le bouton droit sur le fichier:
Propriétés> Copier dans le répertoire de sortie
réglé sur "Copier si plus récent"
Cela l'a fait fonctionner